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

Warum kann MongoDB keinen zusammengesetzten Index verwenden, der der Abfrage sehr ähnlich (nicht genau) ist?

Das ist richtig und auch dokumentiert .

Warum:Der Index sieht im Wesentlichen wie dieser Baum aus:

  • A:"Wert A"
    • B :"ABC"
      • C:435
      • C:678
    • B :"BCD"
      • C:123
      • C:993

Wie Sie sehen können, ist die Reihenfolge korrekt und aufsteigend, aber wenn Sie die Werte von c nehmen würden in der Reihenfolge, ohne auf eine Teilmenge von festem b zu beschränken , erhalten Sie [435, 678, 123, 993] , was nicht korrekt ist, also scanAndOrder ist erforderlich.

Leider Indizes ohne Indexüberschneidung sind sehr unflexibel.