假设我有一个包含100万个文档的集合,如下所示:
{
email: "test@test.com",
survey: ObjectId('whatever'),
taken: Date(1/1/2015)
},
{
email: "blah@blah.com",
survey: ObjectId('whatever'),
taken: Date(6/1/2015)
}
如果我要经常执行下面的查询:
db.participants.find({survey: ObjectId('whatever')}).sort({taken: 1})
在索引中包含taken
对我来说有多重要?通常,记录集将根据survey
查询从100万减少到大约30,然后将对这30个记录进行排序。
即使要排序的过滤集要小得多,对此列进行索引仍然有意义吗?