Sommaire

La méthode explainexplain

Cette méthode affiche à l’écran un document contenant des informations relatives à la planification des requêtes et peut également afficher des statistiques d’exécution. Elle a deux modes de fonctionnement : elle peut s’appliquer à une collection ou bien à un curseur.

Si elle est appliquée à une collection, sa syntaxe est la suivante :

db.collection.explain(informations).<méthode>

Si elle détaille un curseur, elle prend cette forme :

db.collection.find().explain(informations)

Dans les deux cas, son unique paramètre est une chaîne de caractères qui spécifie la nature des informations à afficher. Ce paramètre peut prendre les valeurs suivantes :

  • queryPlanner

  • executionStats

  • allPlansExecution

Si vous ne précisez pas de paramètre à explain, c’est l’option queryPlanner qui sera la valeur par défaut. Voici quelques exemples d’utilisation sur notre collection livres, tout d’abord une utilisation sur un curseur avec l’option par défaut :

db.livres.find().explain()

La même chose, mais appliqué à la collection (le résultat produit sera identique) :

db.livres.explain().find()

Les détails concernant les statistiques d’exécution, au niveau collection :

db.livres.explain("executionStats").find()

Les détails concernant les plans d’exécution, ...