Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Pourquoi ces statistiques SQL Server sont-elles obsolètes, alors qu'elles sont configurées pour se mettre à jour automatiquement ?

Même si vous définissez les statistiques de mise à jour automatique sur true, elles ne seront mises à jour que lorsqu'un seuil aura été atteint. Ceci est différent pour différentes versions

Seuils pour SQL Server 2012 ou version antérieure :

  1. La taille du tableau est passée de 0 à> 0 lignes

  2. Le nombre de lignes dans le tableau lorsque les statistiques ont été collectées était de 500 ou moins, et le colmodctr de la colonne principale de l'objet de statistiques a changé de plus de 500 depuis lors

  3. Le tableau comportait plus de 500 lignes au moment de la collecte des statistiques et le colmodctr de la colonne principale de l'objet de statistiques a changé de plus de 500 + 20 % du nombre de lignes du tableau au moment de la collecte des statistiques

Pour SQLServer 2016, il y a peu de changements majeurs et des statistiques de mises à jour SQL avec un nouvel algorithme (lu plus fréquemment que les anciennes versions)

Normalement, les gens planifient les travaux de maintenance pendant les week-ends et cela inclut la reconstruction de l'index/la mise à jour des statistiques.

Cela devrait normalement prendre en charge la plupart des bases de données. Dans votre cas, si vous rencontrez des problèmes de performances dus à des statistiques non valides, vous pouvez les mettre à jour manuellement. Nous le faisons une fois par semaine, mais des sites comme StackOverflow le font plus souvent

update stats tablename

Autres lectures/références :
Statistiques utilisées par l'optimiseur de requête dans Microsoft SQL Server 2008
Comprendre quand les statistiques seront automatiquement mises à jour