Écrire des prédicats sargables dans SQL Server
Un index ne peut pas aider si le prédicat masque sa colonne dans une fonction ou un calcul. SQL Server peut alors scanner toutes les lignes candidates.
Écrire des prédicats sargables dans SQL Server
Un index ne peut pas aider si le prédicat masque sa colonne dans une fonction ou un calcul. SQL Server peut alors scanner toutes les lignes candidates.
Ce qu'il faut mesurer
Examinez prédicats de seek et résiduels, lectures logiques, estimations et expressions sur les colonnes indexées. Fonctions de date, joker initial, calculs et gestion des nulls sont fréquents.
Approche pratique
Exprimez les dates en intervalles semi-ouverts, déplacez les calculs vers les constantes, envisagez une colonne calculée persistée et alignez les index composites sur égalités et plages.
Ce qu'il faut éviter
N'ajoutez pas un index avant de réécrire, n'utilisez pas BETWEEN imprudemment avec datetime et ne supposez pas que tout seek est efficace.
Résultat opérationnel
La sargabilité fournit une plage recherchable et réduit souvent mieux le travail qu'un hint.
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.