Denne artikkelen er en speilartikkel om maskinoversettelse, vennligst klikk her for å hoppe til originalartikkelen.

Utsikt: 5609|Svare: 2

MongoDB visning og opprettelse av indekser

[Kopier lenke]
Publisert på 11.02.2022 17:46:29 | | | |
MongoDB-indeks

Uten indekser måtte MongoDB skanne hver fil i samlingen og velge de postene som oppfyller spørringskriteriene når dataene leses.

Denne typen spørringseffektivitet ved å skanne hele settet er svært lav, spesielt når man behandler store mengder data; spørringen kan ta titalls sekunder eller til og med minutter, noe som er svært ødeleggende for nettstedets ytelse.

Indekser er spesielle datastrukturer lagret i en samling data som enkelt kan leses over en indeks, og indekser er en struktur som sorterer verdiene til én eller flere kolonner i en databasetabell.

Anmeldelse:

MongoDB vanlige spørringskommandoer
https://www.itsvse.com/thread-10169-1-1.html

Spør i utførelsesplanen

Eksempelutsagn:

Uten å lage en indeks (winningPlan:COLLSCAN), som vist i figuren nedenfor:



Explain()-funksjonen kan også motta ulike parametere, og du kan se en mer detaljert spørringsplan ved å sette forskjellige parametere.

Parametere inkluderer:queryPlanner (standard)、executionStats、allPlansExecution

Execute explain ("executionStats") og du vil oppdage at det er flere statistikker i execution-planen.

parameterbetydning
totalKeysExaminedAntall indeksskanninger
totalDokumenterUndersøktAntall dokumentskanninger
nReturnerteAntall resultater som ble returnert,
henrettelseTimeMillisUtførelsen er tidkrevende
HenrettelseSuksessOm henrettelsen var vellykket

Lag en indeks

MongoDB bruker createIndex()-metoden for å lage indekser.

Merk at før versjon 3.0.0 var indeksopprettelsesmetoden db.collection.ensureIndex(), og senere versjoner brukte metoden db.collection.createIndex().

Lag en enkelt indeks


Lag en sammensatt indeks

I syntaksen er nøkkelverdien indeksfeltet du vil lage, 1 spesifiseres for å lage en indeks i stigende rekkefølge, og hvis du vil lage en indeks i synkende rekkefølge, kan du spesifisere -1.bakgrunn for å spesifisere at indekser opprettes i bakgrunnen, det vil si legge til den valgfrie parameteren "bakgrunn". "Bakgrunn" er som standard falsk.

Spørringsindekser

Kommandoen er som følger:



Slett indeksen

Slett alle indekser

Slett den spesifiserte indeksen

(Slutt)




Foregående:Hvordan begrense taiwanske brukere fra å registrere seg, legge ut informasjon når som helst, og be om råd om hvordan man skriver.
Neste:[Faktisk kamp]. NET/C# eksporterer cachen ved hjelp av StackExchange.Redis fuzzy-spørring
 Vert| Publisert på 11.02.2022 17:49:16 |
Langsom prosess med spørringsanalyse:

1. Bruk den langsomme spørringsloggen (system.profile) for å finne setninger som overstiger 200 ms

2. Bruk deretter .explain() for å analysere antall berørte rader og finne ut hvorfor det overstiger 200 ms

3. Bestem om du må legge til et indeks

Aktiver treg spørring:


Parameter:

0: Lukket, ingen data samles inn.
1: Samle inn langsomme spørringsdata, standard er 100 millisekunder.
2: Samle inn all data

Gå gjennom resultatene:


Merk: Indekser kan i praksis sies å være permanente i minnet; hvis datamengden når 100 millioner, jo færre indekser, desto bedre, fordi det vil oppta mye minne. Ifølge Internett utgjør 1 million indekser omtrent 50 millioner minne. Hvis det er 100 millioner, vil det oppta 5G-minne.

Publisert på 13.02.2022 16:30:52 |
lærd...
Ansvarsfraskrivelse:
All programvare, programmeringsmateriell eller artikler publisert av Code Farmer Network er kun for lærings- og forskningsformål; Innholdet ovenfor skal ikke brukes til kommersielle eller ulovlige formål, ellers skal brukerne bære alle konsekvenser. Informasjonen på dette nettstedet kommer fra Internett, og opphavsrettstvister har ingenting med dette nettstedet å gjøre. Du må fullstendig slette innholdet ovenfor fra datamaskinen din innen 24 timer etter nedlasting. Hvis du liker programmet, vennligst støtt ekte programvare, kjøp registrering, og få bedre ekte tjenester. Hvis det foreligger noen krenkelse, vennligst kontakt oss på e-post.

Mail To:help@itsvse.com