如何使用JDBC调用Sybase统计信息命令?

时间:2016-02-15 11:10:50

标签: java jdbc sybase

我想从Java调用Sybase上的update stats命令。 JDBC应该给出状态,无论它是执行还是错误代码说明问题。我应该在Statement上使用哪个JDBC API来执行此操作?

此外,如果在执行这些命令时发生错误,它是否支持回滚?

例如:我在事务中的1个数据库上的2个表上执行update stats。如果表2上的更新统计信息失败,它是否会回滚表1上的更新状态?

以下是Sybase中的更新统计信息的语法:

update statistics table_name
[[ partition data_partition_name ] [ (column_list ) ] |
index_name [ partition index_partition_name ] ] 
[ using step values ]
[ with consumers = consumers] [, sampling=percent]

update index statistics
table_name [[ partition data_partition_name ] |
[ index_name [ partition index_partition_name ] ] ]
[ using step values ]
[ with consumers = consumers] [, sampling=percent]

update all statistics table_name
[ partition data_partition_name ]
[ sp_configure histogram tuning factor, <value>

update table statistics
table_name [partition data_partition_name ]

delete [ shared ] statistics table_name
[ partition data_partition_name ] 
[( column_name[, column_name ] ...)]

对此或某些指示的任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:1)

UPDATE STATISTICS(各种风格)确实可以回滚。但是你真的没有理由想要这样做。最糟糕的情况是,您最终保留了不需要的资源分配。

只需检查stmt结果的@@ error状态。

至于使用UPDATE STATISTICS的哪种风味,这是一个完全不同的讨论。参见ASE Performance&amp;调整指南,为此提供指导。