MongoDB - Indizierungsbeschränkungen
In diesem Kapitel lernen wir die Indizierungsbeschränkungen und ihre anderen Komponenten kennen.
Zusätzlicher Overhead
Jeder Index nimmt etwas Platz ein und verursacht einen Overhead beim Einfügen, Aktualisieren und Löschen. Wenn Sie Ihre Sammlung also selten für Lesevorgänge verwenden, ist es sinnvoll, keine Indizes zu verwenden.
RAM-Nutzung
Da Indizes im RAM gespeichert sind, sollten Sie sicherstellen, dass die Gesamtgröße des Index die RAM-Grenze nicht überschreitet. Wenn die Gesamtgröße die RAM-Größe erhöht, werden einige Indizes gelöscht, was zu Leistungseinbußen führt.
Abfragebeschränkungen
Die Indizierung kann nicht in Abfragen verwendet werden, die -
- Reguläre Ausdrücke oder Negationsoperatoren wie $ nin, $ not usw.
- Arithmetische Operatoren wie $ mod usw.
- $ where-Klausel
Daher ist es immer ratsam, die Indexverwendung für Ihre Abfragen zu überprüfen.
Indexschlüsselgrenzen
Ab Version 2.6 erstellt MongoDB keinen Index mehr, wenn der Wert des vorhandenen Indexfelds die Indexschlüsselgrenze überschreitet.
Einfügen von Dokumenten, die das Indexschlüssellimit überschreiten
MongoDB fügt kein Dokument in eine indizierte Sammlung ein, wenn der indizierte Feldwert dieses Dokuments die Indexschlüsselgrenze überschreitet. Gleiches gilt für die Dienstprogramme mongorestore und mongoimport.
Maximale Bereiche
- Eine Sammlung kann nicht mehr als 64 Indizes haben.
- Die Länge des Indexnamens darf nicht länger als 125 Zeichen sein.
- Ein zusammengesetzter Index kann maximal 31 Felder indizieren.