244
Chapitre 8. Optimisation du code SQL
Figure 8.3 — Plan d’exécution graphique
correspondant à la requête :
SELECT FirstName, LastName
FROM Person.Contact
WHERE LastName = 'Abercrombie';
Vous voyez au passage que la requête a été auto-paramétrée par le moteur relationnel, puisque le texte (statement) visible dans le plan d’exécution est :
SELECT [FirstName], [LastName] FROM [Person].[Contact]
WHERE [LastName] =@1;
Nous verrons ce qu’est l’auto-paramétrage dans la section 9.3.
Chaque icône représente un opérateur du plan, c’est-à-dire une opération effectuée sur les données. Nous les détaillerons dans la section suivante. Le plan se lit de
droite à gauche. La première opération effectuée se trouve en haut et à droite. Chaque opérateur produit une table en mémoire dont le résultat qui est envoyé à l’opérateur suivant, ce qu’expriment les flèches. Le nombre de lignes transportées est
représenté visuellement par l’épaisseur des flèches. Sur la figure 8.3, toutes les flèches sont fines, elles ne conduisent donc qu’un petit nombre de lignes. Chaque opérateur ainsi que l’instruction entière affichent un coût relatif en pourcentage. Lors de
l’affichage du plan de plusieurs instructions, le coût par instruction montre une estimation du poids relatif de chacune, ce qui est pratique pour avoir un aperçu des performances comparées de plusieurs syntaxes de requête. La touche F4 permet
d’afficher les propriétés du plan ou de chaque opérateur, selon la sélection effectuée
à la souris. De même, en laissant le pointeur de la souris posé sur un opérateur ou une
flèche, on peut en voir les détails dans une fenêtre de type info-bulle. Nous voyons
en figure 8.4 l’affichage des propriétés et de l’info-bulle.
Précédent

- 256/334

Suivant