我的应用程序中有一个 Oracle 准备好的语句,它将一次性更新表中大约 100,000 条记录的状态。 例如:
UPDATE <TABLE NAME> SET STATUS=SUCCESS' where STATUS='INIT'
上述查询将一次性更新大约超过 100,000 条记录。 有什么方法可以提高性能,例如在准备好的语句上设置批处理/获取大小?如果我使用带有上述查询的准备好的语句,由于我没有设置任何批量执行的参数,因此我只会执行一次,我该怎么做?
最佳答案
一种优化方法是不要一次运行一个查询(因为每个查询的系统延迟太慢...)
您可以使用批量更新。
如果您使用 Spring 则使用 batchUpdate
或者如果您直接处理 JDBC,则使用
preparedStatement.addBatch();
preparedStatement.executeBatch();
关于java - 准备好的语句更新 - 性能改进,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15354423/