1
4
您的问题描述表明您有一大组较小的逻辑事务(每个新ID都是一个事务)。您应该提交每个逻辑事务。等待提交整个事务集的两个原因是:
tomkyte的建议是提交每个逻辑工作单元-事务。 |
2
11
这与其说是一个性能决策,不如说是一个流程设计决策。当您必须回滚错误的ID时,是否希望其他ID保留在数据库中? 由于显而易见的原因,当必须回滚更多行时,回滚需要更长的时间。回滚通常需要更长的时间(有时需要更长的时间!)而不是必须回滚的操作。在Oracle中,Commit总是很快的,所以在这方面你多久提交一次可能并不重要。 |
3
0
不要把交易时间拖得太长。尽量简短。因为根据你的查询,已经创建了一些锁。此锁可能会导致性能问题。。。所以一个接一个。。。 |
4
0
有两种“力量”在起作用。。。。
还有一些其他问题需要考虑,例如最大事务大小。每个未限制的事务都需要一些临时空间。交易越大,你需要的就越多。您还可以运行ORA-01555“snapshot too old”。 如果有任何建议可以给出,那么就是实现一个可配置的“提交频率”,以便您可以根据需要轻松地更改它。 |
5
0
如果您需要控制单个集合,但保留提交或回滚整个事务的能力,则可以使用保存点。您可以在最外层循环的开始处设置保存点,然后在发生错误时回滚到该保存点。你可能会得到这样的结果:
|
maddy · 如何根据oracle SQL中的某一列值进行排名 1 年前 |
kiric8494 · 显示以元音开头和结尾的城市名称 2 年前 |
Franz Biberkopf · Oracle:组合子查询和聚合函数 2 年前 |
BitLauncher · 甲骨文-如何模拟位列和布尔和/或? 2 年前 |
Arifullah · 如何从oracle中的列中删除特定的初始字符? 2 年前 |
Anar · Oracle SQL用户定义函数 2 年前 |
user1312312 · 如何为一组表编写通用触发器? 2 年前 |