比方说,我有一个收集这种结构,索引在这种情况下是如何帮助的是mongo db?
student_id数据,得分,score_type
我有得分的指标,我想查询学生使用id = 10000和秩序的评分得分结果。
我跑我的数据集查询,这是查询计划是什么,
1:首先,DB使用上得分索引文件进行排序。
2:然后它的文档上的过滤器ID:1000
即使我们使用索引在这里,所有的文档都在这里考察的比赛(因为在student_id数据没有索引)。我的问题是,如果所有的文件都要检查,为什么分贝不考虑这个备用计划
1:做一个集合搜索并做过滤。
2:然后使用分数上的索引进行排序。
这里排序将在一个较小的数据集上完成,所以它应该更快。
第二个计划有什么问题?
奇怪的是,甚至有上'一个单独的索引student_id'不会帮助它做滤波第一。我无法解释它。使用@Markus –