MongoDB Index
Der Index ist in der Regel möglich, um die Effizienz der Abfrage zu verbessern, wenn es keinen Index, MongoDB, wenn das Lesen von Daten auf jede Datei in der Sammlung scannen müssen und die Datensätze auswählen, die die Abfragekriterien entsprechen.
Dieser Scan ganze Kollektion Abfrage Effizienz ist sehr gering, vor allem, wenn sie mit großen Datenmengen zu tun, Abfragen zehn Sekunden oder sogar Minuten dauern kann, ist die Leistung dieser Website sehr tödlich ist.
Index ist eine spezielle Datenstruktur, wobei der Index in einem Datensatz von leicht zu lesende traversal gespeichert ist, wird der Indexwert eine Struktur einer Datenbanktabelle oder Spalten zu sortieren
ensureIndex () -Methode
MongoDB verwendet ensureIndex () -Methode den Index zu erstellen.
Grammatik
ensureIndex () -Methode grundlegende Syntax ist wie folgt:
>db.COLLECTION_NAME.ensureIndex({KEY:1})
Grammatik Key Indexfeldwert möchten Sie einen Index für die angegebene erstellen aufsteigend zu erstellen, absteigend, wenn Sie einen Index erstellen möchten -1 angegeben werden.
Beispiele
>db.col.ensureIndex({"title":1}) >
ensureIndex () -Methode können Sie auch einen Index mehrere Felder zu verwenden, einrichten zu erstellen (relationalen Datenbank einen Composite-Index genannt).
>db.col.ensureIndex({"title":1,"description":-1}) >
ensureIndex () erhält die optionalen Parameter sind optionale Parameter im Folgenden aufgelistet:
Parameter | Typ | Beschreibung |
---|---|---|
Hintergrund | Boolean | Indexing Prozess werden andere Datenbankoperationen sperren, erstellen Indizes Hintergrund angegeben späteren Zeitpunkt System werden kann, was einer Steigerung von "Hintergrund" optionale Parameter. "Hintergrund" Der Standardwert istfalse. |
einzigartig | Boolean | Die Indizierung ist einzigartig. Gibt einen eindeutigen Index auf true zu erstellen. Der Standardwert istfalse. |
Name | Schnur | Name des Index. Wenn nicht anders angegeben, MongoDB durch den Index Feldnamen verbinden und zu sortieren, um einen Indexnamen zu generieren. |
dropDups | Boolean | Löschen von doppelten Datensätzen, wenn Sie einen eindeutigen Index erstellen, geben Sie true, um einen eindeutigen Index zu erstellen. Der Standardwert istfalse. |
spärlich | Boolean | Für Felddaten im Dokument nicht existieren, den Index nicht ermöglichen, diese Parameter besondere Aufmerksamkeit erfordert, auf true gesetzt wenn, dann ist das Indexfeld Abfrage des Dokuments nicht kein entsprechendes Feld enthält .. Der Standardwert istfalse. |
expireAfterSeconds | ganze Zahl | einen Wert in Sekunden für die Einheit Geben Sie die TTL-Einstellung abgeschlossen ist, stellen Sie die Überlebenszeit der Sammlung. |
v | Index-Version | Index Versionsnummer. Die Standardversion des Index ist abhängig von der Lauf wenn mongod einen Index-Version erstellen. |
Gewichte | Dokument | Index Gewichte, Werte zwischen 1 bis 99.999, stellt das Recht, einen anderen Indexfeld in Bezug auf das Gewicht des Index zu erzielen. |
default_language | Schnur | Für Textindizes, bestimmt dieser Parameter die Stoppwörter und die Regeln und Wortlisten ergeben. Die Standardeinstellung ist Englisch |
language_override | Schnur | Für Textindex, der die Feldnamen enthalten in der Dokumentsprache spezifiziert ist, die Sprache überschreiben die Standardsprache, der Standardwert. |
Beispiele
Erstellen Sie einen Index im Hintergrund:
db.values.ensureIndex({open: 1, close: 1}, {background: true})
Durch Hintergrund Hinzufügen bei der Erstellung eines Index: true Option, so dass Arbeit im Hintergrund zu erstellen