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.