MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Perché MongoDB non può utilizzare un indice composto molto simile (non esatto) alla query?

Questo è corretto e anche documentato .

Per quanto riguarda il motivo:l'indice assomiglia essenzialmente a questo albero:

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

Come puoi vedere, l'ordine è corretto e crescente, ma se prendi i valori di c in ordine senza limitarsi a un sottoinsieme di b fissi , otterrai [435, 678, 123, 993] , che non è corretto, quindi scanAndOrder è richiesto.

Sfortunatamente, gli indici senza intersezione degli indici sono molto rigidi.