Dieser Artikel ist ein Spiegelartikel der maschinellen Übersetzung, bitte klicken Sie hier, um zum Originalartikel zu springen.

Ansehen: 5609|Antwort: 2

MongoDB Anzeigen und Erstellen von Indizes

[Link kopieren]
Veröffentlicht am 11.02.2022 17:46:29 | | | |
MongoDB-Index

Ohne Indizes müsste MongoDB jede Datei in der Sammlung scannen und jene Datensätze auswählen, die die Abfragekriterien beim Lesen der Daten erfüllen.

Diese Art von Abfrageeffizienz beim Scannen des gesamten Sets ist sehr gering, besonders bei der Verarbeitung großer Datenmengen; die Abfrage kann Dutzende Sekunden oder sogar Minuten dauern, was der Leistung der Website sehr schadet.

Indizes sind spezielle Datenstrukturen, die in einer Datensammlung gespeichert werden und leicht über einen Index gelesen werden können, und Indizes sind eine Struktur, die die Werte einer oder mehrerer Spalten in einer Datenbanktabelle sortiert.

Rezension:

MongoDB gängige Abfragebefehle
https://www.itsvse.com/thread-10169-1-1.html

Abfrage des Ausführungsplans

Beispielaussagen:

Ohne einen Index zu erstellen (winningPlan:COLLSCAN), wie in der untenstehenden Abbildung gezeigt:



die explain()-Funktion kann auch verschiedene Parameter erhalten, und du kannst einen detaillierteren Abfrageplan einsehen, indem du andere Parameter einlegst.

Parameter umfassen:queryPlanner (Standard)、executionStats、allPlansExecution

Execute explain ("executionStats") und du wirst feststellen, dass es mehr Statistiken im Execution Plan gibt.

ParameterBedeutung
totalKeysExaminedAnzahl der Indexscans
totalDocsExaminedAnzahl der Dokumentenscans
nZurückgekehrtDie Anzahl der zurückgegebenen Ergebnisse
HinrichtungTimeMillisDie Ausführung ist zeitaufwendig
Hinrichtung ErfolgOb die Hinrichtung erfolgreich war

Erstellen Sie einen Index

MongoDB verwendet die createIndex()-Methode, um Indizes zu erstellen.

Beachten Sie, dass vor Version 3.0.0 die Indexerstellungsmethode db.collection.ensureIndex() war, und spätere Versionen die Methode db.collection.createIndex() verwendeten.

Erstellen Sie einen einzigen Index


Erstellen Sie einen zusammengesetzten Index

In der Syntax ist der Schlüsselwert das Indexfeld, das du erstellen möchtest, 1 wird angegeben, um einen Index in aufsteigender Reihenfolge zu erstellen, und wenn du einen Index in absteigender Reihenfolge erstellen möchtest, kannst du -1 angeben.Hintergrund, um anzugeben, dass Indizes im Hintergrund erstellt werden, also den optionalen Parameter "Hintergrund" hinzufügen. "Hintergrund" steht standardmäßig auf falsch.

Abfrageindizes

Der Befehl lautet wie folgt:



Löschen Sie den Index

Alle Indizes löschen

Löschen Sie den angegebenen Index

(Ende)




Vorhergehend:Wie man taiwanesische Nutzer daran hindert, sich zu registrieren, Informationen nach Belieben zu posten und um Rat beim Schreiben zu bitten.
Nächster:[Tatsächlicher Kampf]. NET/C# exportiert den Cache mit StackExchange.Redis Fuzzy-Abfrage
 Vermieter| Veröffentlicht am 11.02.2022 17:49:16 |
Langsamer Prozess der Abfrageanalyse:

1. Verwenden Sie das langsame Abfrageprotokoll (system.profile), um Anweisungen zu finden, die 200 ms überschreiten

2. Dann verwenden Sie .explain(), um die Anzahl der betroffenen Zeilen zu analysieren und zu analysieren, warum sie 200 ms überschreitet

3. Entscheiden Sie, ob Sie einen Index hinzufügen müssen

Schalte langsame Abfrage ein:


Parameter:

0: Geschlossen, keine Daten werden erhoben.
1: Sammeln Sie langsame Abfragedaten, standardmäßig sind 100 Millisekunden.
2: Alle Daten sammeln

Überprüfen Sie die Ergebnisse:


Hinweis: Indizes können im Grunde als dauerhaft im Speicher bezeichnet werden; wenn die Datenmenge 100 Millionen erreicht, gilt: Je kleiner die Indexe, desto besser, da sie eine große Menge Speicher beanspruchen. Laut Internet machen 1 Million Indizes etwa 50 Millionen Speicher aus. Wenn es 100 Millionen sind, wird es 5G-Speicher einnehmen.

Veröffentlicht am 13.02.2022 16:30:52 |
gelehrt...
Verzichtserklärung:
Alle von Code Farmer Network veröffentlichten Software, Programmiermaterialien oder Artikel dienen ausschließlich Lern- und Forschungszwecken; Die oben genannten Inhalte dürfen nicht für kommerzielle oder illegale Zwecke verwendet werden, andernfalls tragen die Nutzer alle Konsequenzen. Die Informationen auf dieser Seite stammen aus dem Internet, und Urheberrechtsstreitigkeiten haben nichts mit dieser Seite zu tun. Sie müssen die oben genannten Inhalte innerhalb von 24 Stunden nach dem Download vollständig von Ihrem Computer löschen. Wenn Ihnen das Programm gefällt, unterstützen Sie bitte echte Software, kaufen Sie die Registrierung und erhalten Sie bessere echte Dienstleistungen. Falls es eine Verletzung gibt, kontaktieren Sie uns bitte per E-Mail.

Mail To:help@itsvse.com