Afficher les propriétés des statistiques
Vous pouvez afficher les statistiques d'optimisation de la requête actuelle pour une table ou une vue indexée dans SQL Server 2012 à l'aide de SQL Server Management Studio ou de Transact-SQL. Les objets de statistiques incluent un en-tête contenant des métadonnées sur les statistiques, un histogramme indiquant la distribution des valeurs dans la première colonne clé de l'objet des statistiques, et un vecteur de densité destiné à mesurer la corrélation entre les colonnes. Pour plus d'informations sur les histogrammes et les vecteurs de densité, consultez DBCC SHOW_STATISTICS (Transact-SQL)
Dans cette rubrique
Avant de commencer :
Sécurité
Pour afficher les propriétés des statistiques, utilisez :
SQL Server Management Studio
Transact-SQL
Pour afficher l'objet de statistiques, l'utilisateur doit posséder la table ou être membre du rôle serveur fixe sysadmin, du rôle de base de données fixe db_owner ou du rôle de base de données fixe db_ddladmin.
[Top]
Dans l'Explorateur d'objets, cliquez sur le signe plus (+) pour développer la base de données dans laquelle vous souhaitez créer une nouvelle statistique.
Cliquez sur le signe plus (+) pour développer le dossier Tables.
Cliquez sur le signe plus (+) pour développer la table dans laquelle vous souhaitez afficher les propriétés de la statistique.
Cliquez sur le signe plus (+) pour développer le dossier Statistiques.
Cliquez avec le bouton droit sur l'objet Statistiques dont vous voulez afficher les propriétés, puis sélectionnez Propriétés.
Dans la boîte de dialogue Propriétés des statistiques - statistics_name, dans le volet Sélectionner une page, sélectionnez Détails.
Les propriétés suivantes s'affichent sur la page Détails dans la boîte de dialogue Propriétés des statistiques - statistics_name .
Nom de la table
Affiche le nom de la table décrite par les statistiques.Nom des statistiques
Spécifie le nom de l'objet de base de données dans lequel les statistiques sont stockées.Statistiques de l'INDEXstatistics_name
Cette zone de texte affiche les propriétés retournées par l'objet de statistiques. Ces propriétés sont divisées en trois sections : en-tête de statistiques, vecteur de densité et histogramme.
Les informations suivantes décrivent les colonnes retournées dans le jeu de résultats de l'en-tête de statistiques.
Nom
Nom de l'objet de statistiques.Mis à jour
Date et heure de la dernière mise à jour des statistiques.Lignes
Nombre total de lignes dans la table ou la vue indexée au moment de la dernière mise à jour des statistiques. Si les statistiques sont filtrées ou correspondent à un index filtré, le nombre de lignes peut être inférieur à celui de la table.Lignes échantillonnées
Nombre total de lignes échantillonnées pour le calcul des statistiques. Si Rows Sampled < Rows, l'histogramme et les résultats de densité affichés sont des estimations basées sur les lignes échantillonnées.Steps
Nombre d'étapes dans l'histogramme. Chaque étape couvre une plage de valeurs de colonnes suivie d'une valeur de colonne de limite supérieure. Les étapes d'histogramme sont définies sur la première colonne clé des statistiques. Le nombre maximal d'étapes est 200.Densité
La formule 1 / distinct values est utilisée pour toutes les valeurs de la première colonne clé de l'objet de statistiques, à l'exception des valeurs limites de l'histogramme. Cette valeur de densité n'est pas utilisée par l'optimiseur de requête ; elle est affichée pour la compatibilité descendante avec les versions antérieures à SQL Server 2008.Longueur moyenne d'une clé
Nombre moyen d'octets par valeur pour toutes les colonnes clés de l'objet de statistiques.String Index
La valeur Yes indique que l'objet de statistiques contient des statistiques de résumé de chaîne pour améliorer les estimations de cardinalité des prédicats de requête qui utilisent l'opérateur LIKE ; c'est le cas par exemple de WHERE ProductName LIKE '%Bike'. Les statistiques de résumé de chaîne sont stockées à l'écart de l'histogramme et sont créées sur la première colonne clé de l'objet de statistiques lorsqu'il est de type char, varchar, nchar, nvarchar, varchar(max), nvarchar(max), text ou ntext.Expression de filtre
Prédicat pour le sous-ensemble des lignes de table incluses dans l'objet de statistiques. NULL = statistiques non filtrées.Lignes non filtrées
Nombre total de lignes dans la table avant l'application de l'expression de filtre. Si Expression de filtre a la valeur NULL, Lignes non filtrées est égal à Lignes.
Les informations suivantes décrivent les colonnes retournées dans le jeu de résultats du vecteur de densité.
Toutes les densités
La densité est calculée selon la formule 1 / distinct values. Les résultats affichent la densité pour chaque préfixe des colonnes de l'objet de statistiques, à raison d'une ligne par densité. Une valeur distincte est une liste distincte des valeurs de colonnes par ligne et par préfixe de colonne. Par exemple, si l'objet de statistiques contient des colonnes clés (A, B, C), les résultats affichent la densité des listes distinctes de valeurs dans chacun des préfixes de colonnes suivants : (A), (A,B) et (A, B, C). Avec le préfixe (A, B, C), chacune des listes suivantes est une liste de valeurs distincte : (3, 5, 6), (4, 4, 6), (4, 5, 6), (4, 5, 7). Avec le préfixe (A, B), les listes de valeurs distinctes suivantes sont associées aux mêmes valeurs de colonnes : (3, 5), (4, 4) et (4, 5).Longueur moyenne
Longueur moyenne, en octets, pour le stockage d'une liste des valeurs de colonnes pour le préfixe de colonne. Par exemple, si les valeurs dans la liste (3, 5, 6) nécessitent 4 octets chacune, la longueur est égale à 12 octets.Columns
Noms des colonnes dans le préfixe dont les valeurs Toutes les densités et Longueur moyenne sont affichées.
Les informations suivantes décrivent les colonnes retournées dans le jeu de résultats de l'histogramme.
RANGE_HI_KEY
Valeur de colonne de limite supérieure pour une étape d'histogramme. La valeur de colonne est également appelée « valeur de clé ».RANGE_ROWS
Nombre estimé de lignes dont la valeur de colonne est comprise dans une étape d'histogramme, à l'exception de la limite supérieure.EQ_ROWS
Nombre estimé de lignes dont la valeur de colonne est égale à la limite supérieure de l'étape d'histogramme.DISTINCT_RANGE_ROWS
Nombre estimé de lignes ayant une valeur de colonne distincte dans une étape d'histogramme, à l'exception de la limite supérieure.AVG_RANGE_ROWS
Nombre moyen de lignes ayant des valeurs de colonnes dupliquées dans une étape d'histogramme, à l'exception de la limite supérieure (RANGE_ROWS / DISTINCT_RANGE_ROWS pour DISTINCT_RANGE_ROWS > 0).
Cliquez sur OK.
[Top]
Dans l'Explorateur d'objets, connectez-vous à une instance du Moteur de base de données.
Dans la barre d'outils standard, cliquez sur Nouvelle requête.
Copiez et collez l'exemple suivant dans la fenêtre de requête, puis cliquez sur Exécuter.
USE AdventureWorks2012; GO -- The following example displays all statistics information for the AK_Address_rowguid index of the Person.Address table. DBCC SHOW_STATISTICS ("Person.Address", AK_Address_rowguid); GO
Pour plus d'informations, consultez DBCC SHOW_STATISTICS (Transact-SQL).
Dans l'Explorateur d'objets, connectez-vous à une instance du Moteur de base de données.
Dans la barre d'outils standard, cliquez sur Nouvelle requête.
Copiez et collez l'exemple suivant dans la fenêtre de requête, puis cliquez sur Exécuter.
USE AdventureWorks2012; GO /*Gets the following information: name and ID of the statistics, whether the statistics were created automatically or by the user, whether the statistics were created with the NORECOMPUTE option, and whether the statistics have a filter and, if so, what that filter is. */ SELECT name AS statistics_name ,stats_id ,auto_created ,user_created ,no_recompute ,has_filter ,filter_definition -- using the sys.stats catalog view FROM sys.stats -- for the Sales.SpecialOffer table WHERE object_id = OBJECT_ID('Sales.SpecialOffer'); GO
Pour plus d'informations, consultez sys.stats (Transact-SQL).
[Top]