Exploitation SQL Server

É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.

Question sur cet article

Vous avez une question sur ce sujet ?

Expliquez ce que vous évaluez ou le point qui vous bloque. Nous vous répondrons avec une recommandation pratique.

Inquiries are not enabled in this preview.

Poser une question sur cet article