MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Pourquoi MongoDB n'utilise-t-il pas l'index composé pour la requête ?

L'index "FirstIdSecondIdCreationTime" n'a pas été automatiquement pris en compte car il a été créé avec un classement et la requête est exécutée sans classement.

Utilisez le .collation() la méthode du curseur pour spécifier le même classement pour la requête que celui utilisé pour l'index.

Le temps d'exécution de 5,5 secondes à l'aide de cet index est également assez lent. Vous pouvez constater une amélioration de cette requête si vous créez un index sur {FirstId: 1, SecondId: 1, _id: 1} afin que l'exécuteur de la requête puisse utiliser l'index pour répondre au tri au lieu d'un tri en mémoire.