sys.indexes (Transact-SQL)
S’applique à : SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)
Contient une ligne par index ou segment d'un objet tabulaire, comme une table, une vue, ou une fonction table.
Nom de la colonne | Type de données | Description |
---|---|---|
object_id | int | ID de l'objet auquel appartient cet index. |
nom | sysname | Nom de l'index. name est unique uniquement dans l’objet.NULL = Segment |
index_id | int | Identificateur de l'index. index_id est unique uniquement dans l’objet.0 = Segment de mémoire 1 = Index cluster > 1 = Index non cluster |
type | tinyint | Type de l'index : 0 = Segment de mémoire 1 = Rowstore en cluster (arbre B) 2 = Rowstore non cluster (arbre B) 3 = XML 4 = Spatial 5 = Index columnstore cluster. S’applique à : SQL Server 2014 (12.x) et versions ultérieures. 6 = Index columnstore non cluster. S’applique à : SQL Server 2012 (11.x) et versions ultérieures. 7 = Index de hachage non cluster. S’applique à : SQL Server 2014 (12.x) et versions ultérieures. |
type_desc | nvarchar(60) | Description du type d'index : HEAP CLUSTERED NONCLUSTERED XML SPATIAL CLUSTERED COLUMNSTORE - S’applique à : SQL Server 2014 (12.x) et versions ultérieures. NONCLUSTERED COLUMNSTORE - S’applique à : SQL Server 2012 (11.x) et versions ultérieures. HACHAGE NONCLUSTERED : les index DE HACHAGE NONCLUSTERED sont pris en charge uniquement sur les tables optimisées en mémoire. La sys.hash_indexes vue affiche les index de hachage actuels et les propriétés de hachage. Pour plus d’informations, consultez sys.hash_indexes (Transact-SQL). S’applique à : SQL Server 2014 (12.x) et versions ultérieures. |
is_unique | bit | 1 = L'index est unique. 0 = L'index n'est pas unique. Toujours 0 pour des index columnstore cluster. |
data_space_id | int | ID de l'espace de données de cet index. L'espace de données est soit un groupe de fichiers, soit un schéma de partition. 0 = object_id est une fonction table ou un index en mémoire. |
ignore_dup_key | bit | 1 = IGNORE_DUP_KEY est ON. 0 = IGNORE_DUP_KEY est OFF. |
is_primary_key | bit | 1 = L'index fait partie d'une contrainte PRIMARY KEY. Toujours 0 pour des index columnstore cluster. |
is_unique_constraint | bit | 1 = L'index fait partie d'une contrainte UNIQUE. Toujours 0 pour des index columnstore cluster. |
fill_factor | tinyint | > 0 = pourcentage FILLFACTOR utilisé lors de la création ou de la reconstruction de l’index. 0 = Valeur par défaut Toujours 0 pour des index columnstore cluster. |
is_padded | bit | 1 = PADINDEX est ON. 0 = PADINDEX est OFF. Toujours 0 pour des index columnstore cluster. |
is_disabled | bit | 1 = L'index est désactivé. 0 = L'index n'est pas désactivé. |
is_hypothetical | bit | 1 = L'index est hypothétique et ne peut être utilisé directement comme un chemin d'accès aux données. Les index hypothétiques conservent des statistiques au niveau des colonnes. 0 = L'index n'est pas hypothétique. |
allow_row_locks | bit | 1 = Index autorisant les verrous de ligne 0 = Index n'autorisant pas les verrous de ligne Toujours 0 pour des index columnstore cluster. |
allow_page_locks | bit | 1 = Index autorisant les verrous de page 0 = Index n'autorisant pas les verrous de page Toujours 0 pour des index columnstore cluster. |
has_filter | bit | 1 = Index disposant d'un filtre et contenant uniquement les lignes qui satisfont la définition du filtre. 0 = Index ne disposant pas de filtre. |
filter_definition | nvarchar(max) | Expression pour le sous-ensemble de lignes inclus dans l'index filtré. NULL pour les segments de mémoire, index non filtrés ou autorisations insuffisantes sur la table. |
compression_delay | int | > 0 = Délai de compression d’index Columnstore spécifié en minutes. NULL = Délai de compression de rowgroup d’index Columnstore est géré automatiquement. |
suppress_dup_key_messages | bit | 1 = L’index est configuré pour supprimer les messages de clé dupliqués pendant une opération de reconstruction d’index. 0 = L’index n’est pas configuré pour supprimer les messages de clé en double pendant une opération de reconstruction d’index. S’applique à : SQL Server (à partir de SQL Server 2017 (14.x)), Azure SQL Database et Azure SQL Managed Instance |
auto_created | bit | 1 = L’index a été créé par le réglage automatique. 0 = L’index a été créé par l’utilisateur. S’applique à : Azure SQL Database |
optimize_for_sequential_key | bit | 1 = L’optimisation de l’insertion de dernière page est activée. 0 = Valeur par défaut. L’index a désactivé l’optimisation de l’insertion de dernière page. S’applique à : SQL Server (à partir de SQL Server 2019 (15.x)), Azure SQL Database et Azure SQL Managed Instance |
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
L’exemple suivant retourne tous les index de la table Production.Product
dans la base de données AdventureWorks2022.
SELECT i.name AS index_name
,i.type_desc
,is_unique
,ds.type_desc AS filegroup_or_partition_scheme
,ds.name AS filegroup_or_partition_scheme_name
,ignore_dup_key
,is_primary_key
,is_unique_constraint
,fill_factor
,is_padded
,is_disabled
,allow_row_locks
,allow_page_locks
FROM sys.indexes AS i
INNER JOIN sys.data_spaces AS ds ON i.data_space_id = ds.data_space_id
WHERE is_hypothetical = 0 AND i.index_id <> 0
AND i.object_id = OBJECT_ID('Production.Product');
GO
Étapes suivantes
Vues de catalogue d'objets (Transact-SQL)
Affichages catalogue (Transact-SQL)
sys.index_columns (Transact-SQL)
sys.xml_indexes (Transact-SQL)
sys.objects (Transact-SQL)
sys.key_constraints (Transact-SQL)
sys.filegroups (Transact-SQL)
sys.partition_schemes (Transact-SQL)
Questions fréquentes sur l'interrogation des catalogues système de SQL Server
In-Memory OLTP (optimisation en mémoire)