У меня запрос 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")
Я пытался применить эти индексы:
ИНДЕКС ТИПА 1
- дБ.Demo.createIndex ({b-1, d: -1})
- db.Demo.createIndex ({a: 1})
- db.Demo.createIndex ({c: 1})
ИНДЕКС ТИПА 2
db.Demo.createIndex ({a: 1, c: 1, b: -1, d: -1})
MongoDB всегда игнорирует TYPE 2 index
, поскольку отклоненные планы и используйте TYPE 1 Index
.Но первый тип занимает больше времени, и я думаю, что он может быть более оптимизирован.
Объясните результаты по запросу типа 1.
....
"executionStats" : {
"executionSuccess" : true,
"nReturned" : 20,
"executionTimeMillis" : 351,
"totalKeysExamined" : 647,
"totalDocsExamined" : 647,
}