DTA recommande de CRÉER DES STATISTIQUES

10

Je viens d'exécuter une requête T-SQL via DTA et l'une des recommandations est de CRÉER DES STATISTIQUES sur l'une des colonnes qui fait partie de nombreuses requêtes dans le fichier de code SQL.

Ma question est la suivante: en quoi les statistiques contribuent-elles exactement aux performances?


la source

Réponses:

7

Les statistiques sont utilisées lors de la création du plan d'exécution des requêtes.

Les statistiques d'optimisation des requêtes sont des objets qui contiennent des informations statistiques sur la distribution des valeurs dans une ou plusieurs colonnes d'une table ou d'une vue indexée. L'optimiseur de requêtes utilise ces statistiques pour estimer la cardinalité, ou le nombre de lignes, dans le résultat de la requête. Ces estimations de cardinalité permettent à l'optimiseur de requêtes de créer un plan de requête de haute qualité. Par exemple, l'optimiseur de requêtes peut utiliser des estimations de cardinalité pour choisir l'opérateur de recherche d'index au lieu de l'opérateur d'analyse d'index plus gourmand en ressources et, ce faisant, améliorer les performances de requête.

Voir http://msdn.microsoft.com/en-us/library/ms190397.aspx pour plus de détails.

Alex_L
la source
1
grand lien et description. Est-il toujours avantageux de créer des statistiques sur des tables qui sont souvent interrogées?
Thomas Stringer
oui, nous devons être sûrs que les statistiques des tableaux les plus lisibles sont toujours adéquates. Si votre table est gourmande en écriture, il est possible que vous deviez mettre à jour les statistiques, par exemple, tous les soirs.
Alex_L
2
@ Surfer513 - soyez prudent: la création de statistiques peut avoir un effet néfaste. Les meilleures informations que vous donnez au planificateur peuvent le faire choisir un chemin d'exécution différent et comme il s'agit d'un jeu de probabilités, il est possible que ce chemin soit plus lent (même s'il est susceptible d'être plus rapide en général). En d'autres termes, sur une base de données de production, testez avant d'implémenter.
Jack dit d'essayer topanswers.xyz
7

Si DTA a recommandé une statistique à colonne unique, vous devez désactiver les statistiques de création automatique? La création automatique créera des statistiques sur n'importe quelle colonne utilisée dans un prédicat, automatiquement, donc généralement c'est une bonne idée de la laisser activée. Vérifiez l'état de la mise à jour automatique de cette base de données, qui devrait normalement être activée.

L'une des meilleures utilisations de DTA est d'identifier les statistiques multi-colonnes manquantes, que la création automatique ne générera pas. Mais pour une seule colonne, la création automatique devrait s'en occuper pour vous.

Mark Storey-Smith
la source