在Django中,最佳的批处理大小是多少?

3

我在想,在Django中进行批量创建时,最佳的批处理大小是多少。我不知道确切的数据数量。可能是百万或者千万。我该如何决定最佳的批处理大小呢?

2个回答

1
这更依赖于数据库的设置而不是Django。因为在bulk_update的实现中,给定的对象列表被分成批次,然后为每个批次创建插入语句。然后在数据库上执行这些插入语句。因此,批处理的执行由数据库处理。如果batch_size对于您的数据库配置来说太大,您可能会遇到性能问题甚至错误。

1

根据文档,默认情况下它尝试执行一次查询 - 在大多数情况下这是最快的更新方式。“最优”批处理大小取决于各种因素:从数据库类型及其限制,到服务器性能,网络(延迟)以及您的代码(例如,您对对象进行了多少更改)。

如果这是新项目或您没有注意到任何更新问题,我建议使用默认设置。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接