Statistiques SQL Server et estimation de cardinalité
L'optimiseur choisit jointures, accès et mémoire selon le nombre de lignes estimé. Un écart important avec la réalité peut rendre un plan raisonnable très coûteux.
Statistiques SQL Server et estimation de cardinalité
L'optimiseur choisit jointures, accès et mémoire selon le nombre de lignes estimé. Un écart important avec la réalité peut rendre un plan raisonnable très coûteux.
Ce qu'il faut mesurer
Comparez lignes estimées et réelles au premier opérateur significatif. Examinez histogramme, modifications, échantillonnage, clés croissantes, prédicats corrélés et expressions masquant les colonnes.
Approche pratique
Gardez les statistiques automatiques, actualisez les statistiques importantes après des changements significatifs, utilisez des statistiques filtrées ou multicolonnes pour les distributions particulières et réécrivez les prédicats opaques.
Ce qu'il faut éviter
Ne lancez pas FULLSCAN sur toutes les statistiques chaque nuit, ne supposez pas qu'une reconstruction actualise tout et ne masquez pas chaque erreur par un hint.
Résultat opérationnel
La maintenance doit suivre l'évolution des données et la sensibilité de la charge, pas un calendrier universel.
Checklist de production
Établissez une référence et définissez l'amélioration attendue. Testez avec des données et une concurrence représentatives. Conservez la configuration ou le plan d'origine, préparez un retour arrière et surveillez le prochain pic normal de charge.
Pour appliquer cette méthode à un environnement SQL Server précis, utilisez le formulaire ci-dessous et indiquez la version, la taille de la base, le profil de charge et les éléments déjà collectés.