使用通过 Perl DBI 访问的 Oracle 10g,我有一个表,其中有几千万行每秒更新几次,同时从另一个进程更频繁地读取。
很快更新频率将增加一个数量级(可能是两个)。有人建议每 N 次更新而不是在每次更新后提交将有助于提高性能。
我有几个问题:
- 这会更快还是更慢或者取决于(计划尽快对新负载进行良好的模拟)
- 为什么它会帮助/阻碍性能。
- 如果“这取决于……”,取决于什么?
- 如果它有帮助 N 的最佳值是多少?
- 为什么当我需要一个有用的直接答案时,我的本地 DBA 不能得到一个有用的直接答案?
(实际上我知道那个答案):-)
编辑:
@codeslave:谢谢,顺便说一句,丢失未提交的更改不是问题,我不会删除用于更新的原始数据,直到我确定一切都很好,顺便说一句,清洁女工确实拔掉了服务器,两次 :-)
一些谷歌搜索表明,由于与回滚段相关的问题,它可能会有所帮助,但我仍然不知道每隔几十个 N 的经验法则?数百?千?
@diciu:很棒的信息,我一定会调查的。