Résumé
Certains plans d’exécution de requête dans Microsoft SQL Server 2016 incluent un modèle d’évaluation d’un filtre sur une table ou une opération d’analyse/plage d’index. Certaines parties du prédicat de filtre peuvent correspondre à une clé d’index et peuvent donc être utilisées pour exécuter une recherche d’index ou une analyse de plage. Les parties restantes du prédicat sont appelées résiduelles et doivent être évaluées pour chaque sortie de ligne par l’opération d’analyse ou de plage. Cela correspond à un opérateur de filtre. Toutefois, pour améliorer les performances, SQL Server pouvez envoyer un tel filtre à l’opérateur d’accès à la table lui-même.
Bien que cette approche améliore les performances globales, dans certaines conditions (par exemple, pour une estimation de cardinalité inexacte liée à la sensibilité des paramètres), le filtre d’analyse ci-dessous peut traiter un plus grand nombre de lignes que prévu. Ce comportement peut être masqué lors de la résolution des problèmes de performances des requêtes lorsque vous utilisez un plan d’exécution réel, car le nombre de lignes retournées correspond au nombre de lignes après l’application du prédicat résiduel et non au nombre réel de lignes analysées à partir d’une table ou d’un index.
Informations sur la mise à jour
Pour améliorer diagnostics pour le scénario décrit dans la section « Symptômes », SQL Server 2016 Service Pack 1 (SP1) introduit un nouvel attribut XML showplan, Lignes estimées lues. Cet attribut fournit le nombre estimé de lignes lues par l’opérateur avant l’application du prédicat résiduel. Cette mise à jour est un complément de la base de connaissances 3107397.
Cette fonctionnalité est incluse dans le Service Pack 1 pour SQL Server 2016.
À propos des builds SQL Server 2016
Chaque nouvelle build pour SQL Server 2016 contient tous les correctifs logiciels et tous les correctifs de sécurité inclus dans la build précédente. Nous vous recommandons d’installer la dernière build pour SQL Server 2016 .
Références
En savoir plus à propos de la terminologie utilisée par Microsoft pour décrire les mises à jour logicielles.