Dit artikel is een spiegelartikel van machinevertaling, klik hier om naar het oorspronkelijke artikel te gaan.

Bekijken: 5609|Antwoord: 2

MongoDB Bekijken en Indexen Aanmaken

[Link kopiëren]
Geplaatst op 11-02-2022 17:46:29 | | | |
MongoDB-index

Zonder indexen zou MongoDB elk bestand in de collectie moeten scannen en die records selecteren die aan de querycriteria voldoen bij het lezen van data.

Deze zoekefficiëntie van het scannen van de volledige set is erg laag, vooral bij het verwerken van een grote hoeveelheid data; de query kan tientallen seconden of zelfs minuten duren, wat fataal is voor de prestaties van de website.

Indexen zijn speciale datastructuren die worden opgeslagen in een verzameling gegevens die gemakkelijk over een index kunnen worden gelezen, en indexen zijn een structuur die de waarden van één of meer kolommen in een databasetabel sorteert.

Recensie:

MongoDB veelvoorkomende querycommando's
https://www.itsvse.com/thread-10169-1-1.html

Raadpleeg het uitvoeringsplan

Voorbeelduitspraken:

Zonder een index te maken (winningPlan:COLLSCAN), zoals weergegeven in de onderstaande figuur:



Explain()-functie kan ook verschillende parameters ontvangen, en je kunt een gedetailleerder queryplan bekijken door verschillende parameters in te stellen.

Parameters omvatten:queryPlanner (standaard)、executionStats、allPlansExecution

Execute explain ("executionStats") en je zult zien dat er meer statistieken in het execution plan staan.

parameterbetekenis
totalKeysExaminedAantal indexscans
totalDocsExaminedAantal documentscans
nTeruggekeerdHet aantal teruggegeven resultaten
executieTimeMillisDe uitvoering kost veel tijd
executieSuccesOf de executie succesvol was

Maak een index aan

MongoDB gebruikt de createIndex()-methode om indexen te maken.

Let op dat vóór versie 3.0.0 de indexcreatiemethode db.collection.ensureIndex() was, en latere versies de db.collection.createIndex()-methode gebruikten.

Maak één enkele index


Maak een samengestelde index

In de syntaxis is de sleutelwaarde het indexveld dat je wilt aanmaken, 1 wordt gespecificeerd om een index in oplopende volgorde te maken, en als je een index in aflopende volgorde wilt maken, kun je -1 specificeren.achtergrond om te specificeren dat indexen op de achtergrond worden aangemaakt, dat wil zeggen, voeg de optionele parameter "achtergrond" toe. "Achtergrond" staat standaard als vals.

Query-indexen

Het commando is als volgt:



Verwijder de index

Verwijder alle indexen

Verwijder de gespecificeerde index

(Einde)




Vorig:Hoe je Taiwanese gebruikers kunt beperken bij registratie, informatie naar believen kunt plaatsen en advies kunt vragen over hoe je kunt schrijven.
Volgend:[Echte gevechten]. NET/C# exporteert de cache met behulp van StackExchange.Redis fuzzy query
 Huisbaas| Geplaatst op 11-02-2022 17:49:16 |
Traag proces van query-analyse:

1. Gebruik het langzame querylog (system.profile) om statements te vinden die meer dan 200ms overschrijden

2. Gebruik vervolgens .explain() om het aantal getroffen rijen te analyseren en te analyseren waarom het meer dan 200ms overschrijdt

3. Bepaal of je een index moet toevoegen

Schakel langzame query in:


Parameter:

0: Gesloten, er worden geen gegevens verzameld.
1: Verzamel langzame querydata, de standaard is 100 milliseconden.
2: Alle gegevens verzamelen

Bekijk de resultaten:


Opmerking: Indexen kunnen in feite als permanent in het geheugen worden beschouwd; als de hoeveelheid data 100 miljoen bereikt, geldt: hoe kleiner het aantal indexen, hoe beter, omdat het een grote hoeveelheid geheugen in beslag neemt. Volgens het internet vertegenwoordigt 1 miljoen indexen ongeveer 50 miljoen geheugen. Als het 100 miljoen is, dan zal het 5G-geheugen innemen.

Geplaatst op 13-02-2022 16:30:52 |
geleerd...
Disclaimer:
Alle software, programmeermaterialen of artikelen die door Code Farmer Network worden gepubliceerd, zijn uitsluitend bedoeld voor leer- en onderzoeksdoeleinden; De bovenstaande inhoud mag niet worden gebruikt voor commerciële of illegale doeleinden, anders dragen gebruikers alle gevolgen. De informatie op deze site komt van het internet, en auteursrechtconflicten hebben niets met deze site te maken. Je moet bovenstaande inhoud volledig van je computer verwijderen binnen 24 uur na het downloaden. Als je het programma leuk vindt, steun dan de echte software, koop registratie en krijg betere echte diensten. Als er sprake is van een inbreuk, neem dan contact met ons op via e-mail.

Mail To:help@itsvse.com