当我在Linux服务器上安装MongoDB时,我发现Map&减少功能比db.count()
和db.find()
慢得多。例如,如果我执行脚本
for(var i=0; i<4789302; ++i){
db.collection5.insert({ item:
"journal",
qty: 25,
tags: ["blank", "red"],
size: { h: 16, w: 21, uom: "cm" }
})
}
将一些小的JSON文档插入到集合中,我发现db.collection5.count({"size.h":16})
的执行时间大约为1.66秒,但是478 MB数据集的执行时间为2394651行的成本大约为28秒。除此之外,如果我在某些相关字段上添加索引,那么db.collection.find()
和db.collection.count()
可能会快得多,但Map&amp;减少仍然是一样的。
有人可以解释上述现象的原因吗?