java - 如何使用JDBC调用Sybase统计命令?

标签 java jdbc sybase

我想从 Java 调用 Sybase 上的 update stats 命令。 JDBC 将向我提供其是否已执行的状态,或者带有说明问题的错误代码。我应该在 Statement 上使用哪个 JDBC API 来执行此操作?

另外,如果执行这些命令时出现错误,是否支持回滚?

例如:我在一个事务中对 1 个数据库的 2 个表执行更新统计信息。如果表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 ] ...)]

对此或某些指示的任何帮助表示感谢。

最佳答案

更新统计数据(各种形式)确实可以回滚。但确实没有充分的理由让你想要这样做。最坏的情况是,您最终会保留不必要的资源分配。

只需检查 @@error 状态即可获取 stmt 的结果。

至于使用哪种风格的更新统计信息,这是一个完全不同的讨论。有关这方面的指导,请参阅 ASE 性能和调优指南。

关于java - 如何使用JDBC调用Sybase统计命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35407840/

相关文章:

java - 如何在selenium中将值从列表存储到数组列表

java - 如何在 ArrayAdapter 中一次更新一个 View ?

java - 两个 Web 应用程序指向 Sun glassfish 服务器中的相同 jndi

java - 无法将值传递给PreparedStatement - 最后第五个参数被跳过

Java - Hibernate 异常 - 无法映射反馈[来自反馈]

java - 我在 ideone 中获得了很好的结果,但 SPOJ 不接受我的解决方案。链接如下

java - 同步了一个从 jdbc 调用的 oracle 包

java - 在 Hibernate for Sybase DB 的多语句事务中不允许使用 SELECT INTO 命令

database - Sybase:数据库使用什么设备名称?

java - 如何在 Spring 3.x 中检索默认的 HandlerExceptionResolver 实例?