Analysere spørringer er en svært viktig del av å måle hvor effektive databasen og indeksering design er. Vi vil lære om de mest brukte  $ forklare Hotell og  $ hint 
 spørringer. 
 
 Bruke $ forklare 
 
  $ forklare Anmeldelser Operatøren gir informasjon om spørringen, indekser som brukes i en spørring og annen statistikk. Det er veldig nyttig når analysere hvor godt indekser er optimalisert. 
 
 I det siste kapitlet hadde vi allerede opprettet en indeks for  brukere 
 samling på felt  kjønn Hotell og  brukernavn 
 bruker følgende spørring: 
> db.users.ensureIndex ({kjønn: 1, brukernavn: 1}) 
 Vi vil nå bruke  $ forklare 
 på følgende spørring: < br >> db.users.find ({kjønn: "M"}, {brukernavn: 1, _id: 0}). forklare () 
Listen forklare () spørring returnerer følgende analysert resultatet: product: { "markøren": "BtreeCursor gender_1_user_name_1", "isMultiKey": false, "n": 1 ", nscannedObjects": 0 ", nscanned": 1, "nscannedObjectsAllPlans": 0 ", nscannedAllPlans": 1, "scanAndOrder": false "indexOnly": true, "nYields": 0 "nChunkSkips": 0 ", Millis": 0, "indexBounds": {"kjønn": [["M", "M"]], "brukernavn": [[{"$ minElement": 1}, {"$ maxElement": 1}]]}}
 Vi vil nå se på feltene i dette resultatsettet: 
 
 Den sanne verdien av  indexOnly 
 indikerer at dette spørsmålet har brukt indeksering. 
 
  markøren 
 feltet angir hvilken type markør som brukes. BTreeCursor typen indikerer at en indeks ble benyttet, og også gir navnet av indeksen som brukes. BasicCursor indikerer at en full scan ble gjort uten bruk av indekser. 
 
 n  
 indikerer antall dokumenter som returneres. 
 
  nscannedObjects 
 angir totalt antall dokumenter skannet 
 
  nscanned 
 indikerer det totale antall dokumenter eller indeksoppføringer skannede 
 
 Bruke $ hint 
 
  $ hint 
 operatør tvinger spørringsoptimisereren å bruke den angitte indeks for å kjøre en spørring. Dette er spesielt nyttig når du ønsker å teste ytelsen til en spørring med ulike indekser. For eksempel oppgir følgende spørring indeksen på felt kjønn og brukernavn som skal brukes for dette søket:> db.users.find ({kjønn: "M"}, {brukernavn: 1, _id: 0}). Hint ({ kjønn: 1, brukernavn: 1}) For å analysere ovenfor spørring ved hjelp $ forklare:> db.users.find ({kjønn: "M"}, {brukernavn: 1, _id. 0}) hint ({kjønn: 1 , brukernavn:. 1}) forklare () Anmeldelser

