MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Wie funktioniert der Mongodb-Index?

Die Reihenfolge der Felder im Index ist wichtig; Der beste zusammengesetzte Index für Ihr Such- und Sortierbeispiel wäre tatsächlich:

db.test.ensure_index([("xxx",1),("_id",-1)])

Da sich Ihre Suchkriterien auf dem Feld „xxx“ befinden, werden mehr Ergebnisse gefunden, wenn Sie dieses Feld an erster Stelle im Index platzieren, als wenn Sie nach _id suchen und dann nach Dokumenten filtern, die mit Ihrem xxx übereinstimmen Kriterien.

Wenn Sie sich das n ansehen Nummer für jeden Plan, der vom Abfrageoptimierer in allPlans berücksichtigt wird , der BtreeCursor xxx_1 index liefert tatsächlich die meisten Ergebnisse (34). Die anderen Indizes geben 9, 10 und 16 Ergebnisse zurück .. wären also weniger effizient für die angegebenen Suchkriterien.

Für weitere Informationen zur Indexoptimierung ist dieser Artikel sehr hilfreich:Optimizing MongoDB Compound Indexes .