У меня есть запросMongoDB индексирование
db.messages.find({'headers.Date':{'$gt': new Date(2001,3,1)}},{'headers.From':1, _id:0}).sort({'headers.From':1})
я поставил headers.From
как индекс. Теперь какая часть запроса будет использовать этот индекс? Вы можете найти часть запроса или отсортировать часть запроса?
Объяснить выход является
{
"cursor" : "BtreeCursor headers.From_1",
"isMultiKey" : false,
"n" : 83057,
"nscannedObjects" : 120477,
"nscanned" : 120477,
"nscannedObjectsAllPlans" : 120581,
"nscannedAllPlans" : 120581,
"scanAndOrder" : false,
"indexOnly" : false,
"nYields" : 0,
"nChunkSkips" : 0,
"millis" : 250,
"indexBounds" : {
"headers.From" : [
[
{
"$minElement" : 1
},
{
"$maxElement" : 1
}
]
]
},
"server" : "Andrews-iMac.local:27017"
}
Любая помощь приветствуется !!!
Запрос не содержит ничего проиндексированного, просто 'headers.Date'. Он должен использовать индекс для сортировки, но поскольку ваш запрос не использует индекс, он уже проделал огромную работу. Возможно, вы захотите создать составной индекс 'headers.Date' и' headers.From' – WiredPrairie