【发布时间】:2015-10-09 16:03:27
【问题描述】:
在某个 Oracle 11.2 环境中,我观察到不必要的提交,例如
-- some updates/inserts etc.
commit;
select * from mytable where somecond = 23;
commit;
甚至:
update mytable set foo = '42';
commit;
commit;
因此,在这两个示例中,第二次提交都是不必要的,因为事务是“空的” - 没有要提交的内容。
问题是:那些不必要的提交有多昂贵?
Oracle DB 是否“智能”足以检测到此类空事务并用NOPs(无)替换那些不必要的提交?
背景:这些冗余提交有时似乎来自程序员不知道“隐藏”逻辑的某些框架层 - 或者有时它们只是疏忽。根据它们的成本(就数据库性能而言),以高优先级修复代码是有意义的。
【问题讨论】:
-
取决于您是否认为网络往返速度很慢。
-
我想知道您是否从正确的方向处理性能问题。
-
@JeffreyKemp,你是什么意思?
标签: oracle oracle11g transactions