我有一个MongoDB查询
Schema: Demo
{
a: String,
b: Number,
c: Bool,
d: Number
}
Query:
db.Demo.find({ a:'test', c: true }).sort({b:-1, d: -1}).limit(40).explain("executionStats")
我尝试过应用这些索引:
TYPE 1 INDEX
TYPE 2 INDEX
MongoDB始终将TYPE 2 index
视为被拒绝的计划并使用TYPE 1 Index
。但是TYPE One需要花费更多时间,我认为它可以更加优化。
按类别1 QUERY解释结果。
....
"executionStats" : {
"executionSuccess" : true,
"nReturned" : 20,
"executionTimeMillis" : 351,
"totalKeysExamined" : 647,
"totalDocsExamined" : 647,
}
答案 0 :(得分:0)
找到完整的查询索引:
此博客已对此进行了解释
Optimizing MongoDB Compound Indexes
查询将是
db.Demo.createIndex({c:1, b:-1, d:-1, a:1})