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

Comment MongoDB évalue-t-il plusieurs instructions $or ?

MongoDB exécutera chaque clause de l'opération $or en tant que requête séparée et supprimera les doublons en tant que passe de post-traitement. Ainsi, chaque clause peut utiliser un index séparé, ce qui est souvent très utile.

En d'autres termes, il ne regardera PAS 1 document, verra laquelle des clauses OR s'applique et effectuera une anticipation si la première clause est une correspondance. Au lieu de cela, il effectue une requête complète de l'ensemble de données par clause et dédouble après coup. Cela peut sembler moins qu'efficace, mais en pratique, c'est presque toujours plus rapide puisque la première approche ne pourrait toucher qu'un seul index pour toutes les clauses, ce qui est rarement efficace.