我想从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 ] ...)]
对此或某些指示的任何帮助表示赞赏。
答案 0 :(得分:1)
UPDATE STATISTICS(各种风格)确实可以回滚。但是你真的没有理由想要这样做。最糟糕的情况是,您最终保留了不需要的资源分配。
只需检查stmt结果的@@ error状态。
至于使用UPDATE STATISTICS的哪种风味,这是一个完全不同的讨论。参见ASE Performance&amp;调整指南,为此提供指导。