VI
Optimiser SQL Server
Chapitre 8 – Optimisation du code SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
8.1 Lecture d’un plan d’exécution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
8.1.1 Principaux opérateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
8.1.2 Algorithmes de jointure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
8.2 Gestion avancée des plans d’exécution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
8.2.1 Indicateurs de requête et de table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
8.2.2 Guides de plan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260
8.3 Optimisation du code SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
8.3.1 Tables temporaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270
8.3.2 Pour ou contre le SQL dynamique. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272
8.3.3 Éviter les curseurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
8.3.4 Optimisation des déclencheurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
Chapitre 9 – Optimisation des procédures stockées . . . . . . . . . . . . . . . . . . . . . . 287
9.1 done_in_proc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288
9.2 Maîtrise de la compilation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
9.2.1 Paramètres typiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
9.2.2 Recompilations automatiques. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298
9.3 Cache des requêtes ad hoc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302
9.3.1 Réutilisation des plans . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303
9.3.2 Paramétrage du SQL dynamique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310
9.4 À propos du code .NET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311
Bibliographie. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317
Précédent

- 8/334

Suivant