sys.stats (Transact-SQL)

S’applique à : ouiSQL Server (toutes les versions prises en charge) OuiAzure SQL Database OuiAzure SQL Managed Instance ouiAzure Synapse Analytics OuiParallel 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)