Mit der MongoDB-Funktion Create Index erstellen Sie einen Index, schaffen so eine bessere Übersicht und er­leich­tern die Be­ant­wor­tung von Anfragen. Mit ver­schie­de­nen Pa­ra­me­tern können Sie den Index noch anpassen.

Was ist MongoDB Create Index?

Um zu verstehen, wofür man in MongoDB Create Index verwendet und warum die Funktion für die tägliche Arbeit mit dem Da­ten­bank­ma­nage­ment­sys­tem so wichtig ist, lohnt sich ein Blick auf den Aufbau von MongoDB: Anders als re­la­tio­na­le Systeme wie MySQL setzt die NoSQL-Lösung nicht auf Tabellen, sondern auf Dokumente, die in Samm­lun­gen oder Coll­ec­tions ge­spei­chert werden. Diese müssen dabei keinem Schema folgen, sind ska­lier­bar und sehr flexibel. Auf diese Weise können riesige Da­ten­ban­ken angelegt, Coll­ec­tions erstellt und Dokumente ein­ge­speist werden. Senden Sie nun aber eine Anfrage, um bestimmte Daten oder Da­ten­sät­ze zu lo­ka­li­sie­ren, benötigen Sie eine Ordnung. Diese wird durch Indexe erreicht.

Ein Index schafft nicht nur mehr Ordnung in einer Datenbank, sondern er­leich­tert dem System auch die Ver­ar­bei­tung von Such­an­fra­gen. In einer riesigen Sammlung von vielen Tausend Do­ku­men­ten entstehen ansonsten nicht nur längere War­te­zei­ten, sondern auch un­über­sicht­li­che Treffer. Statten Sie die Dokumente hingegen mit Indexen aus, werden diese besser sortiert und so auch schneller gefunden. Da nur ein Teil der Dokumente gelesen werden muss, ist die Suche deutlich ef­fi­zi­en­ter. Für diesen Vorgang nutzen Sie den MongoDB Command Create Index.

Die Syntax von MongoDB Create Index

Die MongoDB-Methode Create Index setzt sich aus dem Anzeigen der Coll­ec­tion, dem ei­gent­li­chen Befehl, dem Kriterium für Such­an­fra­gen und einer Zähl­rich­tung zusammen:

>db.COLLECTION_NAME.createIndex ( {KEY:1} )

„COLL­EC­TION_NAME“ be­zeich­net den Namen der Sammlung, in der der Index angelegt werden soll. „create­In­dex“ ist der ent­spre­chen­de Befehl, „KEY“ be­zeich­net das Feld innerhalb der Coll­ec­tion und die „1“ gibt an, dass die Sor­tie­rung in auf­stei­gen­der Rei­hen­fol­ge vor­ge­nom­men werden soll. Für die ent­ge­gen­ge­setz­te Richtung wählen Sie „-1“.

MongoDB: Beispiel für den Einsatz von Create Index

Um die Funk­ti­ons­wei­se und den Nutzen von Create Index noch besser zu verstehen, nutzen wir ein einfaches Beispiel, das wie folgt aussieht:

>db.beispiel.createIndex ( {"title":1} )

Die Ausgabe sieht fol­gen­der­ma­ßen aus:

{
"createdCollectionAutomatically" : false,
"numIndexesBefore" : 1,
"numIndexesAfter": 2,
"ok" : 1
}

Die erste Zeile gibt an, dass die Sammlung manuell mit MongoDB Create Coll­ec­tion erstellt wurde. Die zweite Zeile zeigt, wie viele Indexe es gibt, bevor der Befehl aus­ge­führt wird. In der dritten Zeile wird die Anzahl der Indexe nach dem Befehl angezeigt und in der vierten Zeile wird auf den Erfolg der Operation hin­ge­wie­sen.

Optionen für die MongoDB-Funk­tio­nen Create Index

Zur Op­ti­mie­rung der Funktion Create Index können Sie in MongoDB ver­schie­de­ne zu­sätz­li­che Optionen einsetzen. Ihr Platz ist innerhalb der Klammern hinter den Keys. Folgende Optionen stehen Ihnen zur Verfügung:

  • back­ground: Mit diesem Parameter wird der Index im Hin­ter­grund erstellt und somit ver­hin­dert, dass der Krea­ti­ons­pro­zess andere Ak­ti­vi­tä­ten der Datenbank behindert. Diese Option enthält immer einen boole­schen Wert, ist also entweder „wahr“ (true) oder „falsch“ (false). Der Stan­dard­wert ist „false“.
  • unique: Auch „unique“ ist ein boole­scher Wert. Ist dieser „true“, wird per Create Index ein ein­zig­ar­ti­ger Index erstellt, der keine Dokumente aufnimmt, deren Key-Wert bereits verwendet wird. So kommt jeder Key-Wert nur einmal vor. Auch der Default-Wert von unique ist „false“.
  • name: Mit dieser Option können Sie Ihrem Index einen frei aus­wähl­ba­ren Namen geben. Ver­zich­ten Sie auf diesen Parameter, generiert das System selbst­stän­dig einen Namen.
  • sparse: Setzen Sie diesen Wert auf „true“, wird der Index nur Dokumente mit einem klar de­fi­nier­ten Feld be­rück­sich­ti­gen. Diese Methode spart zwar Platz, kann aber auch ungenau sein. Der Default-Wert ist „false“.
  • ex­pi­re­Af­ter­Se­conds: Mit dieser Option ent­schei­den Sie, wie lange MongoDB Dokumente in einer Coll­ec­tion auf­be­wahrt. Der Wert wird in Sekunden angegeben.
  • weights: Dieser Parameter bestimmt über die Wich­tig­keit eines Feldes im Vergleich zu anderen Feldern eines Indexes. Der Wert reicht dabei von 1 bis 99999.
  • default_language: Möchten Sie eine andere Sprache als Englisch für das MongoDB-Kommando Create Index verwenden, so können Sie diese mit „default_language“ bestimmen.
  • language_override: Mit dieser Option über­schrei­ben Sie die Stan­dard­spra­che.
Tipp: Managed MongoDB von IONOS

Mit Managed MongoDB von IONOS können Sie sich auf das We­sent­li­che kon­zen­trie­ren. Ob In­stal­la­ti­on, Betrieb oder War­tungs­ar­bei­ten, IONOS sorgt für einen zu­ver­läs­si­gen Betrieb Ihrer hoch­per­for­man­ten Da­ten­ban­ken.

Indexe löschen mit MongoDB Drop Index

Da Sie nun wissen, wie Sie mit Create Index einen neuen Index erstellen, bleibt nur die Frage, wie Sie einen solchen Index wieder entfernen können. Für diesen Fall ist die MongoDB-Funktion Drop Index gedacht. Hierbei haben Sie zwei Mög­lich­kei­ten. Entweder geben Sie die Datei, von der der Index entfernt werden soll, oder direkt den Namen des je­wei­li­gen Indexes an.

So ist die Syntax der ersten Methode:

>db.COLLECTION_NAME.dropIndex ( {KEY:1} )

Die Syntax der zweiten Methode sieht fol­gen­der­ma­ßen aus:

dropIndex ("Name_des_Indexes")
Zum Hauptmenü