如何一次提交大量更新1000条记录?

时间:2015-05-19 11:01:56

标签: sql oracle11g commit

是否可以在1000条记录中提交一次更新/删除,即使我的内部选择查询返回更多的行说25K?

update sometable1
  set somecolumn
where somewhere in (select somewhere from sometable2);

从字面上看,我想提交1000行更新...

1 个答案:

答案 0 :(得分:3)

T.Kyte精心解释了关于频繁提交的神话here

  

只有一件事能说明你什么时候提交 - 你的时间是什么时候   交易完成?然后你提交,期间。

  • 会导致 ORA-1555 以及您的流程失败。
  • 抛出交易完整性窗外。
  • 每次强制您等待以便同步写入文件系统

经常误以为你是在节约资源或者让事情变得更快,这只会对你有所帮助:

  • 让你失望。

  • 不保存任何资源,事实上,它消耗更多(您生成更多重做)

  • 严重质疑数据的完整性