我想知道mongo查询工作原理的内部过程。我已经看过Mongo的源代码。但是,我找不到正确的理解方式。
Mongo查询1:
db.collection.find({
class : 10,
subject:"Physics",
name :"John Doe"
});
Mongo查询2:
db.collection.find({
name :"John Doe",
class : 10,
subject:"Physics",
});
考虑一个场景,在一个集合中,如果名称值-“ John Doe”仅出现两次,而类值-10出现一百次,则第二个查询的执行速度会更快,或者两个查询都需要相同的响应时间。查询顺序重要吗?
答案 0 :(得分:1)
这完全取决于index
,MongoDB首先会提供索引键的首选项。
您可以使用https://codepen.io/peiche/pen/xOVpPo来提供所需的结果,例如已处理了多少记录以获得该结果,查询中是否有任何索引键。
我喜欢使用Explain,它可以直观地说明查询。