MongoDB-indeks
Uden indekser ville MongoDB skulle scanne hver fil i samlingen og vælge de poster, der opfylder forespørgselskriterierne, når dataene læses.
Denne type forespørgselseffektivitet ved at scanne hele sættet er meget lav, især når man behandler store mængder data; forespørgslen kan tage titier af sekunder eller endda minutter, hvilket er meget fatalt for hjemmesidens ydeevne.
Indekser er specielle datastrukturer, der gemmes i en samling data, som let kan læses over et indeks, og indekser er en struktur, der sorterer værdierne af en eller flere kolonner i en databasetabel.
Anmeldelse:
Forespørg udførelsesplanen
Eksempler på udsagn:
Uden at oprette et indeks (winningPlan:COLLSCAN), som vist i figuren nedenfor:
Explain()-funktionen kan også modtage forskellige parametre, og du kan se en mere detaljeret forespørgselsplan ved at sætte forskellige parametre.
Parametre omfatter:queryPlanner (standard)、executionStats、allPlansExecution
Execute explain("executionStats") og du vil opdage, at der er flere statistikker i execution-planen.
| parameter | betydning | | totalKeysExamined | Antal indeksscanninger | | totalDocsExamined | Antal dokumentscanninger | | nReturneret | Antallet af resultater, der blev returneret, | | henrettelseTimeMillis | Udførelsen er tidskrævende | | HenrettelseSucces | Om henrettelsen var vellykket |
Opret et indeks
MongoDB bruger createIndex()-metoden til at oprette indekser.
Bemærk, at før version 3.0.0 var metoden til indeksoprettelse db.collection.ensureIndex(), og senere versioner brugte metoden db.collection.createIndex().
Opret et enkelt indeks
Opret et sammensat indeks
I syntaksen er nøgleværdien det indeksfelt, du vil oprette, 1 angives for at oprette et indeks i stigende rækkefølge, og hvis du vil oprette et indeks i faldende rækkefølge, kan du angive -1.baggrund for at specificere, at indekser oprettes i baggrunden, det vil sige, tilføj den valgfrie parameter "baggrund". "baggrund" er som standard falsk.
Forespørgselsindekser
Kommandoen er som følger:
Slet indekset
Slet alle indekser
Slet det angivne indeks
(Slut)
|