27
ho sparato una query e cercato di spiegare che su console mongo e ottenutomongo intesa db spiegare
"isMultiKey" : true,
"n" : 8,
"nscannedObjects" : 17272,
"nscanned" : 17272,
"nscannedObjectsAllPlans" : 21836,
"nscannedAllPlans" : 21836,
"scanAndOrder" : true,
"indexOnly" : false,
"nYields" : 0,
"nChunkSkips" : 0,
"millis" : 184,
maggior parte delle cose sono spiegate in http://www.mongodb.org/display/DOCS/Explain, ma non riesco a capire che cosa fa nscannedObjectsAllPlans, nscannedAllPlans significa. Qualcuno può aiutare?
Grazie
Quindi dovrei preoccupare se nscannedObjectsAllPlans, nscannedAllPlans stanno dando grande valore, mentre il nscanned è ancora nel range accettabile? –
Io non la penso così - credo che sia solo quando viene chiamato explain() che esegue quegli altri piani in primo luogo. – Konklone
L'esecuzione di più piani è fondamentalmente il modo in cui MongoDB decide quale piano di query deve utilizzare. Esegue tutti i piani che potrebbe utilizzare in parallelo la prima volta che viene eseguita la query, quindi periodicamente dopo un numero di query o modifiche ai dati. Non appena lo si finisce, lo memorizza nella cache come piano da usare, cancella gli altri e utilizzerà quel piano fino alla prossima volta che decide di aggiornarlo. –