Der er to ting her, som du sandsynligvis vil være bekendt med.
- Forklar planer
- Langsomme logfiler
Forklar planer
Her er nogle grundlæggende dokumenter om forklaring. At køre explain er så simpelt som db.foo.find(query).explain()
. (bemærk, at dette faktisk kører forespørgslen, så hvis din forespørgsel er langsom, vil dette være for )
For at forstå outputtet skal du tjekke nogle af dokumenterne på de langsomme logfiler nedenfor. Du får grundlæggende oplysninger om "hvor meget indeks blev scannet", "hvor mange der er fundet", osv. Som det er tilfældet med sådanne præstationsdetaljer, er fortolkningen virkelig op til dig. Læs dokumenterne ovenfor og nedenfor for at pege dig i den rigtige retning.
Langsomme logfiler
Som standard er langsomme logfiler aktive med en tærskel på 100 ms. Her er et link til den fulde dokumentation om profilering. Et par nøglepunkter for at komme i gang:
Hent/indstil profilering:
db.setProfilingLevel(2); // 0 => none, 1 => slow, 2 => all
db.getProfilingLevel();
Se langsomme forespørgsler:
db.system.profile.find()