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

Si l'agrégat mongodb n'utilise pas d'index pour $lookup, pourquoi mes performances augmentent-elles lorsque j'utilise des index ?

Malheureusement, le manuel MongoDB ne mentionne pas actuellement l'utilisation potentielle de l'index pour $lookup , mais c'est définitivement le cas.

Une simple $lookup une requête similaire à votre exemple effectue une correspondance d'égalité sur le foreignField dans une autre collection, vous avez donc ajouté l'index correct pour améliorer les performances (en supposant que ce champ est également raisonnablement sélectif).

Comme à MongoDB 4.0, l'utilisation de l'index pour $lookup n'est pas signalé dans résultat d'explication d'agrégation . Il y a un problème pertinent à surveiller/voter dans le suivi des problèmes MongoDB :SERVER-22622 :Améliorer $ lookup expliquer pour indiquer le plan de requête sur la collection "de" .