[英]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.