Zusammengesetzten Index erstellen
In diesem Schritt lernen Sie, wie Sie in MongoDB einen zusammengesetzten Index erstellen, der es ermöglicht, mehrere Felder zu indexieren, um komplexe Abfragen zu optimieren.
Fahren wir mit der Verwendung der Datenbank und der Sammlung aus dem vorherigen Schritt fort:
use indexlab
Ein zusammengesetzter Index ist ein Index über mehrere Felder. Wir werden einen Index erstellen, der die Felder "name" und "age" kombiniert, um die Abfrageleistung für Suchanfragen zu verbessern, die beide Felder betreffen:
db.users.createIndex({ name: 1, age: 1 });
Dadurch wird ein Index erstellt, bei dem die Dokumente zuerst alphabetisch aufsteigend nach Namen und dann ebenfalls aufsteigend nach Alter sortiert werden.
Fügen wir einige weitere Dokumente hinzu, um den zusammengesetzten Index zu demonstrieren:
db.users.insertMany([
{ name: "David", age: 28, email: "david@example.com" },
{ name: "Eve", age: 28, email: "eve@example.com" },
{ name: "Frank", age: 35, email: "frank@example.com" }
]);
Verifizieren wir nun den zusammengesetzten Index:
db.users.getIndexes();
Beispielausgabe:
[
{ v: 2, key: { _id: 1 }, name: '_id_' },
{ v: 2, key: { age: 1 }, name: 'age_1' },
{ v: 2, key: { name: 1, age: 1 }, name: 'name_1_age_1' }
]
Führen wir eine Abfrage aus, die von diesem zusammengesetzten Index profitieren kann:
db.users.find({ name: "David", age: 28 }).explain("executionStats");
Diese Abfrage wird den gerade erstellten zusammengesetzten Index verwenden, was die Abfrageleistung erheblich verbessern kann.