Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 5609|Svar: 2

MongoDB Visning och Skapande av index

[Kopiera länk]
Publicerad på 2022-02-11 17:46:29 | | | |
MongoDB-index

Utan index skulle MongoDB behöva skanna varje fil i samlingen och välja de poster som uppfyller frågekriterierna vid dataläsning.

Denna typ av sökeffektivitet för att skanna hela uppsättningen är mycket låg, särskilt när man bearbetar stora mängder data; frågan kan ta tiotals sekunder eller till och med minuter, vilket är mycket skadligt för webbplatsens prestanda.

Index är speciella datastrukturer som lagras i en samling data som enkelt kan läsas över ett index, och index är en struktur som sorterar värdena för en eller flera kolumner i en databastabell.

Recension:

MongoDB vanliga frågekommandon
https://www.itsvse.com/thread-10169-1-1.html

Fråga exekveringsplanen

Exempelpåståenden:

Utan att skapa ett index (winningPlan:COLLSCAN), som visas i figuren nedan:



Explain()-funktionen kan också ta emot olika parametrar, och du kan se en mer detaljerad frågeplan genom att ställa in olika parametrar.

Parametrar inkluderar:queryPlanner (standard)、executionStats、allPlansExecution

Execute explain("executionStats") så kommer du att upptäcka att det finns fler statistik i execution plan.

parameterbetydelse
totalKeysExaminedAntal indexskanningar
totalDocsExaminedAntal dokumentskanningar
nÅtervändeAntalet resultat som returnerats
avrättningTimeMillisExekveringen är tidskrävande
genomförandeFramgångOm avrättningen lyckades

Skapa ett index

MongoDB använder createIndex()-metoden för att skapa index.

Observera att före version 3.0.0 var indexskapandemetoden db.collection.ensureIndex(), och senare versioner använde metoden db.collection.createIndex().

Skapa ett enda index


Skapa ett sammansatt index

I syntaxen är nyckelvärdet indexfältet du vill skapa, 1 anges för att skapa ett index i stigande ordning, och om du vill skapa ett index i fallande ordning kan du ange -1.bakgrund för att specificera att index skapas i bakgrunden, det vill säga lägga till parametern "bakgrund" valfritt. "Bakgrund" är som standard falsk.

Frågeindex

Kommandot är följande:



Ta bort indexet

Radera alla index

Ta bort det angivna indexet

(Slut)




Föregående:Hur man begränsar taiwanesiska användare från att registrera sig, postar information när man vill och ber om råd om hur man skriver.
Nästa:[Verklig strid]. NET/C# exporterar cachen med hjälp av StackExchange.Redis fuzzy query
 Hyresvärd| Publicerad på 2022-02-11 17:49:16 |
Långsam process för frågeanalys:

1. Använd den långsamma frågeloggen (system.profile) för att hitta satser som överstiger 200 ms

2. Använd sedan .explain() för att analysera antalet påverkade rader och varför det överstiger 200 ms

3. Bestäm om du behöver lägga till ett index

Aktivera långsam sökning:


Parameter:

0: Stängt, ingen data samlas in.
1: Samla in data om långsamma frågor, standarden är 100 millisekunder.
2: Samla in all data

Gå igenom resultaten:


Observera: Index kan i princip sägas vara permanenta i minnet, om mängden data når 100 miljoner, ju mindre index, desto bättre, eftersom det kommer att ta upp en stor mängd minne. Enligt internet står 1 miljon index för cirka 50 miljoner minne. Om det är 100 miljoner, kommer det att uppta 5G-minne.

Publicerad på 2022-02-13 16:30:52 |
lärd...
Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com