【发布时间】:2015-01-02 16:29:21
【问题描述】:
所以我有一个典型的 find().sort() 查询,我在我的 mongo 集合上运行。
db.collection.find({field1:1}).sort({field2:1})
现在,假设我在这个集合上有三个索引:
-
field1上的单个索引 -
field2上的单个索引 -
field1和field2上的复合索引 -{field1:1,field2:1}
现在我的问题是,mongoDB 如何处理上述查询?在这样的查询中将使用哪些索引 - 两个单索引或一个复合索引?
如果我删除复合索引,它实际上是否利用了两个单一索引但速度变慢了?
【问题讨论】:
-
@Disposer 所以它使用复合索引是正确的......期望查询使用单个索引并在没有复合索引的情况下变慢是否正确?