sql >> Base de Datos >  >> NoSQL >> MongoDB

¿Por qué MongoDB no puede usar un índice compuesto que es muy similar (no exacto) a la consulta?

Esto es correcto y también documentado .

En cuanto a por qué:el índice se ve esencialmente como este árbol:

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

Como puede ver, el orden es correcto y ascendente, pero si toma los valores de c en orden sin limitarse a un subconjunto de b fijos , obtendrías [435, 678, 123, 993] , lo cual no es correcto, entonces scanAndOrder es obligatorio.

Desafortunadamente, los índices sin intersección de índices son muy inflexibles.