sys.stats (Transact-SQL)
S’applique à : SQL Server (toutes les versions prises en charge)
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Parallel Data Warehouse
Contient une ligne pour chaque objet de statistiques qui existe pour les tables, index et vues indexées de la base de données dans SQL Server. Chaque index aura une ligne de statistiques correspondante avec les mêmes nom et ID (index_id = stats_id), mais chaque ligne de statistiques n’a pas d’index correspondant.
L’affichage catalogue sys.stats_columns fournit des informations statistiques pour chaque colonne de la base de données. Pour plus d’informations sur les statistiques, consultez Statistiques.
Nom de la colonne | Type de données | Description |
---|---|---|
object_id | int | ID de l'objet auquel ces statistiques appartiennent. |
name | sysname | Nom des statistiques. Unique dans l'objet. |
stats_id | int | ID des statistiques. Unique dans l'objet. Si les statistiques correspondent à un index, la valeur stats_id est identique à la valeur index_id de l’affichage catalogue sys. Indexes . |
auto_created | bit | Indique si les statistiques ont été créées automatiquement par SQL Server. 0 = Les statistiques n'ont pas été créées automatiquement par SQL Server. 1 = Les statistiques ont été créées automatiquement par SQL Server. |
user_created | bit | Indique si les statistiques ont été créées par un utilisateur. 0 = Les statistiques n'ont pas été créées par un utilisateur. 1 = Les statistiques ont été créées par un utilisateur. |
no_recompute | bit | Indique si les statistiques ont été créées avec l’option NORECOMPUTE . 0 = les statistiques n’ont pas été créées avec l’option NORECOMPUTE . 1 = les statistiques ont été créées avec l’option NORECOMPUTE . |
has_filter | bit | 0 = Les statistiques n'ont pas de filtre et sont calculées sur toutes les lignes. 1 = Les statistiques ont un filtre et sont calculées uniquement sur les lignes qui satisfont la définition de filtre. |
filter_definition | nvarchar(max) | Expression pour le sous-ensemble de lignes inclus dans les statistiques filtrées. NULL = Statistiques non filtrées. |
is_temporary | bit | Indique si les statistiques sont temporaires. Les statistiques temporaires prennent en charge les bases de données secondaires Groupes de disponibilité Always On qui sont activés pour un accès en lecture seule. 0 = Les statistiques ne sont pas temporaires. 1 = Les statistiques sont temporaires. S’applique à : SQL Server (à compter de SQL Server 2012 (11.x)) |
is_incremental | bit | Indiquez si les statistiques sont créées comme statistiques incrémentielles. 0 = Les statistiques ne sont pas incrémentielles. 1 = Les statistiques sont incrémentielles. S’applique à : SQL Server (à compter de SQL Server 2014 (12.x)) |
has_persisted_sample | bit | Indique si les statistiques ont été créées ou mises à jour avec l’option PERSIST_SAMPLE_PERCENT. 0 = les statistiques ne conservent pas le pourcentage d’échantillonnage. 1 = les statistiques ont été créées ou mises à jour avec l’option PERSIST_SAMPLE_PERCENT. S’applique à : SQL Server (à compter de SQL Server 2019 (15.x)) |
stats_generation_method | int | Indique la méthode par laquelle les statistiques sont créées. 0 = statistiques basées sur le tri 1 = usage interne uniquement S’applique à : SQL Server (à compter de SQL Server 2019 (15.x)) |
stats_generation_method_desc | varchar(255) | Description textuelle de la méthode par laquelle les statistiques sont créées. Statistiques basées sur le tri À usage interne uniquement S’applique à : SQL Server (à compter de SQL Server 2019 (15.x)) |
Autorisations
La visibilité des métadonnées dans les affichages catalogue est limitée aux éléments sécurisables qu'un utilisateur détient ou pour lesquels des autorisations lui ont été accordées. Pour plus d'informations, consultez Metadata Visibility Configuration.
Exemples
Les exemples suivants retournent toutes les statistiques et les colonnes de statistiques de la table HumanResources.Employee
.
USE AdventureWorks2012;
GO
SELECT s.name AS statistics_name
,c.name AS column_name
,sc.stats_column_id
FROM sys.stats AS s
INNER JOIN sys.stats_columns AS sc
ON s.object_id = sc.object_id AND s.stats_id = sc.stats_id
INNER JOIN sys.columns AS c
ON sc.object_id = c.object_id AND c.column_id = sc.column_id
WHERE s.object_id = OBJECT_ID('HumanResources.Employee');
Voir aussi
Vues de catalogue d’objets (Transact-SQL)
Affichages catalogue (Transact-SQL)
interrogation du SQL Server FAQ du catalogue système
Statistiques
sys.dm_db_stats_properties (Transact-SQL)
sys.dm_db_stats_histogram (Transact-SQL)
sys.stats_columns (Transact-SQL)