gpt4 book ai didi

database - 在循环内部或外部提交更好?

转载 作者:太空狗 更新时间:2023-10-30 01:55:43 24 4
gpt4 key购买 nike

也许这个问题没有简单的答案,但我想问问如果有人有,如果不是简单的答案,至少有一个见解。

我曾多次创建一个循环,该循环遍历数据库表中的许多记录以执行某些更新,并且我可以在最后合法地进行一次大提交,或者在我处理它时提交每条记录.即一次提交一个不会产生任何数据完整性问题。

是否有明确的案例证明哪个更好?

让我想到的是,我有一个这样的程序,我最近从一个大提交切换到一堆小提交,因为它是一个运行时间相当长的程序——大约 80 分钟——但它在中途失败了通过不良数据。我解决了问题并重新运行,但当我本可以让它只处理以前未处理的记录时,它不得不从头开始。

我注意到,当我进行此更改时,两种方式的运行时间大致相同。

最佳答案

假设不需要回滚整个持久性的能力(在这种情况下只有一个答案;在外部提交),在循环内提​​交可以使事务日志更小,但需要更多往返数据库。在循环外提交是完全相反的。哪个更快取决于平均操作计数和整体提交的数据量。对于保留大约 10-20 条记录的例程,在循环外提交。对于 1m-2m 的记录,我会分批提交。

关于database - 在循环内部或外部提交更好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3892861/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com