DBAtlas · Atlas d'exploitation des bases de données

Mettre à jour les statistiques

SQL ServerMaintenance

Commande

-- Single table, full scan:
UPDATE STATISTICS dbo.Customer WITH FULLSCAN;

-- Specific statistic, with sampling:
UPDATE STATISTICS dbo.Customer IX_Customer_Email WITH SAMPLE 30 PERCENT;

-- Bulk for the whole database (user tables), sampled:
EXEC sys.sp_updatestats;

Ce que fait la commande

Met à jour les statistiques de colonnes/index utilisées par l'optimiseur ; garantit des plans d'exécution et des estimations de cardinalité corrects.

Quand l'utiliser

Après de gros changements/chargements de données, sur des régressions de plan ; une reconstruction d'index actualise déjà complètement les statistiques (inutile de le faire séparément).

Attention

FULLSCAN est précis mais coûteux ; il génère une charge I/O sur les grandes tables. sp_updatestats ne met à jour que les statistiques modifiées et utilise l'échantillonnage par défaut. Un nouvel UPDATE STATISTICS sur le même index après un REBUILD d'index est inutile.

Ouvrir dans DBAtlas →

Voir aussi