我有一个喜欢的应用程序:
delete from tableA where columnA='somevalue' and rownum<1000
在循环中:
while(deletedRows>0) {
begin tran
deletedRows = session ... "delete from tableA where columnA='somevalue'
and rownum<1000"....
commit tran
}
它运行了几次(每次删除大约需要 20 秒),然后挂了很长时间为什么?有可能修复吗?谢谢。
删除是在循环中运行而不是作为单个 SQL 语句运行的原因是缺少回滚空间。有关更多信息,请参阅此问题。