Quantcast
Viewing all articles
Browse latest Browse all 25

Analyse de plans de requête : SQL Sentry Plan Explorer

Si les plans d’exécution graphiques sont un bon outil pour faciliter la lecture des plans, l’outil souffre de quelques lacunes que SQL Sentry Plan Explorer a su combler.
Depuis que je l’ai téléchargé pour la première fois, je ne peux plus m’en passer Image may be NSFW.
Clik here to view.
:)


C’est un logiciel qui est gratuitement proposé par SQL Sentry, disponible sur cette page.
N’oubliez pas de télécharger le plug-in pour SQL Server Management Studio (SSMS).

Lorsque le plan comporte de nombreuses icônes, dans SSMS, on est obligé de jouer énormément avec les curseurs pour voir où se situe le problème.
Ce n’est pas le cas avec Plan Explorer, qui utilise un format plus compact.
Pour le même plan, voici ce que l’on voit dans SSMS :

Image may be NSFW.
Clik here to view.

Et dans Plan Explorer :

Image may be NSFW.
Clik here to view.

Je suppose qu’avec cette première capture d’écran vous aurez remarqué d’autre différences :

- Les cardinalités sont affichées sur les flèches
- Les opérations les plus coûteuses sont mises en évidence. On peut notamment les visualiser par coût E/S et par coût CPU :

Image may be NSFW.
Clik here to view.

Vous le voyez, il est également très simple de comparer les cardinalités estimées et réelles, ce qui permet rapidement de savoir s’il s’agit d’un problème d’estimation de ces dernières.
L’option Full object names affiche le nom complet de l’objet et de l’index, ce qui permet de ne pas avoir à passer le curseur sur les icônes pour savoir quel index a été utilisé.

Enfin les infobulles sont toujours présentes, mais mieux présentées parce qu’ordonnées.
Voici donc ce que l’on voit sans SSMS pour une icône de plan d’exécution graphique :

Image may be NSFW.
Clik here to view.

On aurait apprécié de voir par exemple le nombre de lignes estimé précéder directement le nombre de lignes réel, comme c’est le cas dans Plan Explorer :

Image may be NSFW.
Clik here to view.

Les onglets situés au-dessus du plan sont assez pratiques également.
Le Plan Tree est similaire au plan d’exécution textuel proposé par SSMS, mais présenté beaucoup plus clairement :

Je passe sur Top Operations et Query Columns, dont leurs noms parlent d’eux-mêmes, pour passer à Expressions :

Image may be NSFW.
Clik here to view.

Désormais les Expr10XX sont décryptables sans avoir à se plonger dans le document XML qu’interprètent ces deux outils Image may be NSFW.
Clik here to view.
:)

Autre implémentation intéressante : lorsqu’on obtient le plan d’exécution d’une procédure stockée ou d’un lot de requêtes, le plan est affiché requête par requête dans Plan Explorer, au lieu d’avoir tous les plans affichés dans l’onglet Plan d’exécution de SSMS :

Image may be NSFW.
Clik here to view.

Enfin on peut choisir les colonnes à afficher dans l’onglet Statements Tree :

Image may be NSFW.
Clik here to view.

Image may be NSFW.
Clik here to view.

Il est donc simple d’ajouter ou supprimer des colonnes.

Alors bonne lecture de plans d’exécution !

ElSüket Image may be NSFW.
Clik here to view.
;)


Viewing all articles
Browse latest Browse all 25

Trending Articles