Partager via


sys.indexes (Transact-SQL)

S’applique à :SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)Base de données SQL dans Microsoft Fabric Preview

Contient une ligne par index ou segment d'un objet tabulaire, comme une table, une vue, ou une fonction table.

Nom de colonne Type de données Description
object_id int ID de l'objet auquel appartient cet index.
name sysname Nom de l'index. le nom 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 2
6 = Index columnstore non cluster 1
7 = Index de hachage non cluster 2
9 = JSON 5
type_desc nvarchar(60) Description du type d'index :

-TAS
-CLUSTER
- NONCLUSTERED
- XML
-SPATIAL
- CLUSTERED COLUMNSTORE 2
- COLUMNSTORE NON-CLUSTER 1
- HACHAGE NON CLUSTER 2, 8
- JSON 5
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 DÉSACTIVÉ.
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 DÉSACTIVÉ.
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 pas être utilisé directement comme chemin d’accès aux données. Les index hypothétiques conservent des statistiques au niveau des colonnes.

0 = Index n’est pas hypothétique.
allow_row_locks bit 1 = Index autorisant les verrous de ligne
0 = L’index n’autorise pas les verrous de ligne.

Toujours 0 pour des index columnstore cluster.
allow_page_locks bit 1 = Index autorisant les verrous de page
0 = L’index n’autorise 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 = L’index n’a pas de filtre.
filter_definition nvarchar(max) Expression pour le sous-ensemble de lignes inclus dans l'index filtré.

NULL pour le tas, index non filtré 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 3, 6, 7 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é dupliqués pendant une opération de reconstruction d’index.
auto_created 6 bit 1 = L’index a été créé par le réglage automatique.
0 = L’index a été créé par l’utilisateur.
optimize_for_sequential_key 4, 6, 7 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.

1S’applique à : SQL Server 2012 (11.x) et versions ultérieures.

2S’applique à : SQL Server 2014 (12.x) et versions ultérieures.

3S’applique à : SQL Server 2017 (14.x) et versions ultérieures.

4S’applique à : SQL Server 2019 (15.x) et versions ultérieures.

5S’applique à : SQL Server 2025 (17.x) Préversion et versions ultérieures.

6S’applique à : Azure SQL Database.

7S’applique à : Azure SQL Managed Instance.

8NONCLUSTERED HASH index 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.

Permissions

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 la configuration de la visibilité des métadonnées.

Examples

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