簡體   English   中英

MongoDB批量更新很慢

[英]MongoDB Bulk Update is slow

我正在運行Mongo 2.6.3我正在更新大約900條記錄,有時甚至多達5000條記錄。 我之前在循環中有這個,並且對於900個記錄,upserts花了大約1分鍾來完成。

現在,我正在使用initializeUnorderedBulkOp API,它為900條記錄花了大約40秒。 為什么這么慢?

我基本上有

var batch = collection.initializeUnorderedBulkOp({useLegacyOps: true});
// for loop
batch.find(query).upsert().updateOne({my object});
batch.execute({w:0},function(err, result) {

這是使用節點驅動程序。 這些調用的網絡面板的屏幕截圖http://cl.ly/image/0L2a0o0w1I1b

當數據較小時,花費的時間較少,因此肯定存在許多記錄問題。 最后,我的對象並不大,它們可能是9鍵左右,沒有大數據。

關於如何縮短這個時間的任何想法?

根據您的評論,您的find查詢未使用將提示完整集合掃描的索引。

在集合中添加一個可供find(query)使用的索引; 使用explain()確認它正被使用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM