249
8.1 Lecture d’un plan d’exécution
Les événements 1, 4 et 5 retournent les colonnes DatabaseID et ObjectID, le nom
de l’objet (procédure ou déclencheur) peut être retrouvé grâce à la fonction
OBJECT_NAME() qui accepte en deuxième paramètre un DB_ID depuis le service pack
2 de SQL Server 2005.
Dans les événements 1 et 2, la colonne BinaryData contient le plan d’exécution
généré en format binaire, de même les colonnes CPU et Duration donnent les temps
de compilation. La colonne IntegerData donne la taille en kilo-octets, du plan
généré. Les colonnes BigintData1 et BigintData2 donnent respectivement le nombre de fois où ce plan a été recompilé, et la taille mémoire qui a été nécessaire à la
compilation, en Ko.
Tous retournent les colonnes SqlHandle et PlanHandle (sauf l’événement 0 qui ne
retourne que le SqlHandle) qui donnent des identifiants utiles pour obtenir plus
d’informations à partir des vues de gestion dynamique que nous présenterons dans la
section suivante.
Les événements Showplan XML, Showplan XML For Query Compile et Showplan XML
Statistics Profile affichent des plans en XML dans la colonne TextData :
• Showplan XML : retourne le plan d’exécution qui est utilisé par la requête, sans
les statistiques d’exécution. Cela correspond au plan estimé. L’événement se
déclenche après l’événement SQL ou SP Starting, mais avant Showplan XML
Statistics Profile.
• Showplan XML For Query Compile : retourne le plan d’exécution tel qu’il est
compilé et mis en cache. Cet événement se déclenche durant la phase de
compilation, avant exécution (donc avant un événement Starting), et avant
la mise en cache (événement SP:CacheInsert).
• Showplan XML Statistics Profile : retourne le plan d’exécution utilisé par la
requête avec les statistiques d’exécution. Cela correspond au plan réel.
L’événement se déclenche juste avant l’événement SQL ou SP Completed.
Dans les trois cas, BinaryData contient le coût estimé de la requête, et IntegerData le nombre estimé de lignes retournées ; ObjectID et ObjectName contiennent
l’ID et le nom de l’objet, ObjectType le type d’objet.
Autres événements
Les événements Showplan Text, Showplan Text (Unencoded), Showplan All, Showplan All For
Query Compile et Showplan Statistics Profile existent pour compatibilité. Vous pouvez les
utiliser pour voir les plans en format texte. Les événements produisant des plans en XML
sont plus complets et devraient être préférés.
8.1 Lecture d’un plan d’exécution
Les événements 1, 4 et 5 retournent les colonnes DatabaseID et ObjectID, le nom
de l’objet (procédure ou déclencheur) peut être retrouvé grâce à la fonction
OBJECT_NAME() qui accepte en deuxième paramètre un DB_ID depuis le service pack
2 de SQL Server 2005.
Dans les événements 1 et 2, la colonne BinaryData contient le plan d’exécution
généré en format binaire, de même les colonnes CPU et Duration donnent les temps
de compilation. La colonne IntegerData donne la taille en kilo-octets, du plan
généré. Les colonnes BigintData1 et BigintData2 donnent respectivement le nombre de fois où ce plan a été recompilé, et la taille mémoire qui a été nécessaire à la
compilation, en Ko.
Tous retournent les colonnes SqlHandle et PlanHandle (sauf l’événement 0 qui ne
retourne que le SqlHandle) qui donnent des identifiants utiles pour obtenir plus
d’informations à partir des vues de gestion dynamique que nous présenterons dans la
section suivante.
Les événements Showplan XML, Showplan XML For Query Compile et Showplan XML
Statistics Profile affichent des plans en XML dans la colonne TextData :
• Showplan XML : retourne le plan d’exécution qui est utilisé par la requête, sans
les statistiques d’exécution. Cela correspond au plan estimé. L’événement se
déclenche après l’événement SQL ou SP Starting, mais avant Showplan XML
Statistics Profile.
• Showplan XML For Query Compile : retourne le plan d’exécution tel qu’il est
compilé et mis en cache. Cet événement se déclenche durant la phase de
compilation, avant exécution (donc avant un événement Starting), et avant
la mise en cache (événement SP:CacheInsert).
• Showplan XML Statistics Profile : retourne le plan d’exécution utilisé par la
requête avec les statistiques d’exécution. Cela correspond au plan réel.
L’événement se déclenche juste avant l’événement SQL ou SP Completed.
Dans les trois cas, BinaryData contient le coût estimé de la requête, et IntegerData le nombre estimé de lignes retournées ; ObjectID et ObjectName contiennent
l’ID et le nom de l’objet, ObjectType le type d’objet.
Autres événements
Les événements Showplan Text, Showplan Text (Unencoded), Showplan All, Showplan All For
Query Compile et Showplan Statistics Profile existent pour compatibilité. Vous pouvez les
utiliser pour voir les plans en format texte. Les événements produisant des plans en XML
sont plus complets et devraient être préférés.
