使用find + projection vs select时的性能差异

时间:2015-09-22 15:48:02

标签: mongodb mongoose

使用db.collection.find('stuff'{projection}) vs db.collection.find('stuff').select({'keyWeWant'})时是否存在差异或性能损失? 我已经在文档上挣扎了一段时间,但找不到任何有用的东西。

2 个答案:

答案 0 :(得分:1)

我建议检查$ explain,你会发现实际的查询执行。我相信内部会相同

https://docs.mongodb.org/manual/reference/operator/meta/explain/

答案 1 :(得分:0)

您能否解释一下您正在使用哪种语言,因为语法

db.collection.find('stuff').select({'keyWeWant'})

是我不知道的事情。

对于你的问题: 使用投影仅返回投影中包含的字段,这样您将节省网络。您可以进一步利用它并创建一个所谓的覆盖索引,它包含查询键和投影键,因此您可以直接从索引获取数据,这将是一个严重的性能提升。 当然,向索引添加大量数据会损害该方面的表现,因此明智地选择你的战斗

此致 克里斯