Section courante

A propos

Section administrative du site

EXPLAIN

Explication
PostgreSQL

Syntaxe

EXPLAIN [ ( option [, ...] ) ] statement
EXPLAIN [ ANALYZE ] [ VERBOSE ] statement

où l'option peut être l'une des suivantes :

ANALYZE [ boolean ]
VERBOSE [ boolean ]
COSTS [ boolean ]
BUFFERS [ boolean ]
TIMING [ boolean ]
SUMMARY [ boolean ]
FORMAT { TEXT | XML | JSON | YAML }

Paramètres

Nom Description
ANALYZE Ce paramètre permet d'exécuter la commande et d'afficher les temps d'exécution réels et d'autres statistiques. Ce paramètre par défaut est FALSE.
VERBOSE Ce paramètre permet d'afficher des informations supplémentaires concernant le plan. Plus précisément, incluez la liste des colonnes de sortie pour chaque noeud dans l'arborescence du plan, la table de qualification de schéma et les noms de fonction, étiquetez toujours les variables dans les expressions avec leur alias de table de plage et d'afficher toujours le nom de chaque déclencheur pour lequel les statistiques sont affichées. Ce paramètre par défaut est FALSE.
COSTS Ce paramètre permet d'inclure des informations sur le démarrage estimé et le coût total de chaque noeud de plan, ainsi que le nombre estimé de lignes et la largeur estimée de chaque ligne. Ce paramètre est par défaut TRUE.
BUFFERS Ce paramètre permet d'inclure des informations sur l'utilisation de la mémoire tampon. Plus précisément, incluez le nombre de blocs partagés touchés, lus, modifiés et écrits, le nombre de blocs locaux touchés, lus, modifiés et écrits, et le nombre de blocs temporaires lus et écrits. Un hit signifie qu'une lecture a été évitée car le bloc a déjà été trouvé dans le cache en cas de besoin. Les blocs partagés contiennent des données provenant de tables et d'index réguliers ; les blocs locaux contiennent des données provenant de tables et d'index temporaires ; tandis que les blocs temporaires contiennent des données de travail à court terme utilisées dans les tris, les hachages, les noeuds de plan Materialise et des cas similaires. Le nombre de blocs souillés indique le nombre de blocs précédemment non modifiés ayant été modifiés par cette requête ; tandis que le nombre de blocs écrits indique le nombre de blocs précédemment souillés expulsés du cache par ce backend pendant le traitement de la requête. Le nombre de blocs affichés pour un noeud de niveau supérieur inclut ceux utilisés par tous ses noeuds enfants. Au format texte, seules les valeurs non nulles sont affichées. Ce paramètre ne peut être utilisé que lorsque ANALYSE est également activé. La valeur par défaut est FALSE.
TIMING Ce paramètre permet d'inclure le temps de démarrage réel et le temps passé dans chaque noeud dans la sortie. La surcharge liée à la lecture répétée de l'horloge système peut ralentir considérablement la requête sur certains systèmes. Il peut donc être utile de définir ce paramètre sur FALSE lorsque seuls les nombres de lignes réels, et non les heures exactes, sont nécessaires. Le temps d'exécution de l'instruction entière est toujours mesuré, même lorsque la synchronisation au niveau du noeud est désactivée avec cette option. Ce paramètre ne peut être utilisé que lorsque ANALYSE est également activé. La valeur par défaut est TRUE.
SUMMARY Ce paramètre permet d'inclure des informations récapitulatives (par exemple, des informations de temps totalisées) après le plan de requête. Les informations récapitulatives sont incluses par défaut lorsque ANALYSE est utilisé, mais ne sont pas incluses par défaut dans le cas contraire, mais peuvent être activées à l'aide de cette option. Le temps de planification dans EXPLAIN EXECUTE comprend le temps nécessaire pour récupérer le plan à partir du cache et le temps requis pour la replanification, si nécessaire.
FORMAT Ce paramètre permet d'indiquer le format de sortie, pouvant être TEXT, XML, JSON ou YAML. La sortie non textuelle contient les mêmes informations que le format de sortie texte, mais est plus facile à analyser pour les programmes. Ce paramètre est par défaut TEXT.
boolean Ce paramètre permet d'indiquer si l'option sélectionnée doit être activée ou désactivée. Vous pouvez écrire TRUE, ON ou 1 pour activer l'option, et FALSE, OFF ou 0 pour la désactiver. La valeur booléenne peut également être omise, auquel cas TRUE est supposé.
statement Ce paramètre permet d'indiquer toute instruction SELECT, INSERT, UPDATE, DELETE, VALUES, EXECUTE, DECLARE, CREATE TABLE AS ou CREATE MATERIALIZED VIEW AS, dont vous souhaitez voir le plan d'exécution.

Description

Cette instruction permet de montrer le plan d'exécution d'une instruction.



Dernière mise à jour : Jeudi, le 14 Octobre 2021