批量API中是否有MongoDB使用的默认批处理大小?

时间:2018-11-14 09:10:24

标签: mongodb bulkinsert

我是MongoDB的新手,因为我在下面的链接中读到了一个问题:“ How can I improve MongoDB bulk performance?”,所以MongoDB在内部一次将列表分解为1000个操作。但是,我在MongoDB文档中找不到此信息。

这是否意味着当我使用Bulk API在MongoDB集合中插入50,000个文档时,MongoDB会在内部将列表分为1000个批次,并执行50次批量插入操作?如果是,如果将50,000个文档列表分解为1,000个子列表,我将获得相同的性能 文档并在for循环中使用批量插入操作?哪种方法更好?

请帮助我理解

谢谢。

1 个答案:

答案 0 :(得分:0)

是的,如果您使用Bulk API在MongoDB集合中插入50,000个文档,则mongo最多会将其分解为1000个操作。 理想情况下,您应该自己制作1000个批次并进行插入,但是在这种情况下,由于内存中已经有数据,因此不会有任何区别。 在生产准备就绪的系统中,您不应在单个请求中接受如此大量的数据。客户端应该能够发送少量数据,以便您可以将其存储在服务器上的队列中并在后台(其他线程)进行处理。