Comment mettre à jour les statistiques SQL Server

Comment mettre à jour les statistiques SQL Server
Cet article comprendra les bases des statistiques SQL Server et diverses méthodes pour effectuer une mise à jour des statistiques.

Que sont les statistiques SQL Server?

Les statistiques SQL Server sont de grands objets binaires utilisés pour contenir des informations statistiques sur la distribution des valeurs dans les colonnes de table.

L'optimiseur de requête SQL Server utilise les statistiques pour déterminer pour créer une cardinalité estimée. La valeur de la cardinalité est ensuite utilisée pour créer un plan d'exécution optimisé et de haute qualité.

La cardinalité fait référence au nombre de lignes.

Par conséquent, le maintien des statistiques SQL Server à jour est important, car des résultats statistiques incorrects peuvent conduire à un plan de requête coûteux et à une utilisation élevée des ressources. Un mauvais plan d'exécution de l'optimiseur de requête peut entraîner des problèmes, tels que le blocage et les blocs de blocage.

Quel est le plan d'exécution SQL Server?

Un plan d'exécution ou un plan de requête fait référence à une série d'étapes organisées pour interroger et accéder aux données dans une base de données. L'optimiseur de requête générera une représentation graphique de la méthode optimisée élevée pour récupérer les données pour la requête spécifiée.

Afficher les statistiques SQL Server

Dans SQL Server, vous pouvez utiliser le SQL Server Management Studio ou la requête T-SQL pour afficher les statistiques d'un objet spécifique.

Dans SSMS, accédez aux bases de données -> votre base de données cible -> Tables -> Tableau cible -> Statistiques.

Comme montré:

Pour afficher les détails d'un objet statistique spécifique, cliquez avec le bouton droit et sélectionnez l'option Propriétés. Vous pouvez afficher la dernière fois que les statistiques des colonnes ont été mises à jour comme suit:

Pour afficher la distribution et la fréquence de l'histogramme, utilisez l'onglet Détails dans la fenêtre Propriétés.

SQL Server View Statistics: Transact-SQL

Vous pouvez également afficher les détails d'une statistique à l'aide d'une requête T-SQL. Considérez l'exemple de requête ci-dessous:

Utiliser SalesDB;
sélectionner
Statistiques.nom,
stats_properties.dernière mise à jour,
stats_properties.Lignes,
stats_properties.ROWS_SMAMMED,
stats_properties.Unfiltered_rows,
stats_properties.modification_counter,
stats_properties.pas
de sys.Statistiques comme statistiques
Extérieur appliquer sys.dm_db_stats_properties (statistiques.object_id, statistiques.stats_id) comme stats_properties
où object_name (statistiques.object_id) = 'clients'
Ordre par Last_updated Desc;

La requête ci-dessus doit renvoyer un exemple de résultat comme:

SQL Server fournit également la commande DBCC pour afficher les détails d'une statistique spécifique. Exemple:

DBCC Show_Statistics («Clients», «CustomerPK»);

La requête ci-dessus prend deux paramètres: le nom du tableau et les statistiques cibles, respectivement.

Statistiques de mise à jour SQL Server

Il existe différentes façons de mettre à jour les statistiques dans SQL Server. Pour activer la mise à jour automatique des statistiques, cliquez avec le bouton droit sur votre base de données cible, naviguez dans l'onglet Options et définissez les «statistiques de mise à jour automatique» sur true sous l'onglet Automatique.

Pour mettre à jour les statistiques manuellement à l'aide de la requête T-SQL, utilisez la requête comme indiqué:

Mettre à jour les statistiques DBO.Clients;

Où dbo.Les clients représentent le tableau cible.

Vous pouvez également utiliser la commande de mise à jour des statistiques:

exec sp_updatestats;

La sortie est comme:

Conclusion

Ce guide couvre comment travailler avec les statistiques SQL Server et diverses méthodes pour effectuer des mises à jour de statistiques dans SSMS et T-SQL.