8
Objectif
Les efforts d’optimisation doivent d’abord se porter sur le code SQL et la structure
des données, avant de considérer des mises à jour matérielles. C’est là où les problèmes se posent en général, et c’est là où l’effet de levier est le plus important. Ce
n’est que lorsqu’on a la garantie que le code et le schéma sont optimisés que la mise
à jour matérielle doit être envisagée. Dans ce chapitre, nous allons vous présenter
les plans d’exécutions générés par le moteur d’optimisation de SQL Server, qui vont
vous permettre de juger de la qualité de votre code SQL. Nous parlerons ensuite de
différentes façons d’écrire du code plus performant.
8.1 LECTURE D’UN PLAN D’EXÉCUTION
Lorsqu’une requête est reçue par le moteur relationnel, celui-ci vérifie d’abord si son
plan d’exécution est présent dans le cache de plans. Si non, il doit créer ce plan.
Cette phase est segmentée en quatre étapes. Nous avons schématisé l’exécution
d’une requête dans la figure 8.1.
Le moteur de requête parse (évalue) d’abord la requête pour en vérifier la syntaxe, et la réécrit dans une structure qui sera utilisée pour l’optimisation.
La phase de normalisation consiste à vérifier l’existence des objets référencés, et
la logique de la requête par rapport à ces objets (SELECT * FROM ProcédureStockée,
par exemple, est illogique).
Optimisation du code SQL
Précédent

- 253/334

Suivant