Denne artikel er en spejling af maskinoversættelse, klik venligst her for at springe til den oprindelige artikel.

Udsigt: 5609|Svar: 2

MongoDB visning og oprettelse af indekser

[Kopier link]
Opslået på 11/02/2022 17.46.29 | | | |
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:

MongoDB almindelige forespørgselskommandoer
https://www.itsvse.com/thread-10169-1-1.html

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.

parameterbetydning
totalKeysExaminedAntal indeksscanninger
totalDocsExaminedAntal dokumentscanninger
nReturneretAntallet af resultater, der blev returneret,
henrettelseTimeMillisUdførelsen er tidskrævende
HenrettelseSuccesOm 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)




Tidligere:Hvordan man begrænser taiwanske brugere fra at registrere sig, poster information efter behag og beder om råd om, hvordan man skriver.
Næste:[Egentlig kamp]. NET/C# eksporterer cachen ved hjælp af StackExchange.Redis fuzzy query
 Udlejer| Opslået på 11/02/2022 17.49.16 |
Langsom forespørgselsanalyseproces:

1. Brug den langsomme forespørgselslog (system.profile) til at finde sætninger, der overstiger 200 ms

2. Brug derefter .explain() til at analysere antallet af berørte rækker og finde ud af, hvorfor det overstiger 200 ms

3. Beslut om du skal tilføje et indeks

Aktiver langsom forespørgsel:


Parameter:

0: Lukket, ingen data indsamles.
1: Indsaml langsomme forespørgselsdata, standarden er 100 millisekunder.
2: Indsaml alle data

Gennemgå resultaterne:


Bemærk: Indekser kan grundlæggende siges at være permanente i hukommelsen; hvis mængden af data når 100 millioner, jo færre indekser, desto bedre, fordi det vil optage en stor mængde hukommelse. Ifølge internettet udgør 1 million indeks omkring 50 millioner hukommelse. Hvis det er 100 millioner, vil det optage 5G-hukommelse.

Opslået på 13/02/2022 16.30.52 |
klog...
Ansvarsfraskrivelse:
Al software, programmeringsmaterialer eller artikler udgivet af Code Farmer Network er kun til lærings- og forskningsformål; Ovenstående indhold må ikke bruges til kommercielle eller ulovlige formål, ellers skal brugerne bære alle konsekvenser. Oplysningerne på dette site kommer fra internettet, og ophavsretstvister har intet med dette site at gøre. Du skal slette ovenstående indhold fuldstændigt fra din computer inden for 24 timer efter download. Hvis du kan lide programmet, så understøt venligst ægte software, køb registrering og få bedre ægte tjenester. Hvis der er nogen overtrædelse, bedes du kontakte os via e-mail.

Mail To:help@itsvse.com