Condividi tramite


sys.indexes (Transact-SQL)

Si applica a:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsSistema di Piattaforma Analitica (PDW)Database SQL in Microsoft Fabric

Contiene una riga per ogni indice o heap di un oggetto in formato tabella, come una tabella, una vista o una funzione con valori di tabella.

Nome della colonna Tipo di dati Description
object_id int ID dell'oggetto a cui appartiene l'indice.
name sysname Nome dell'indice. name è univoco solo all'interno dell'oggetto .

NULL = Heap
index_id int ID dell'indice. index_id è univoco solo all'interno dell'oggetto .

0 = heap
1 = indice cluster
> 1 = Indice non cluster
type tinyint Tipo di indice:

0 = heap
1 = Rowstore cluster (albero B)
2 = Rowstore non cluster (albero B)
3 = XML
4 = Spaziale
5 = Indice columnstore cluster 2
6 = Indice columnstore non cluster 1
7 = Indice hash non cluster 2
9 = JSON 5
type_desc nvarchar(60) Descrizione del tipo di indice:

-MUCCHIO
-CLUSTER
- NON CLUSTER
-XML
-SPAZIALE
- COLUMNSTORE CLUSTER 2
- COLUMNSTORE NON CLUSTER 1
- HASH NON CLUSTER 2, 8
- JSON 5
is_unique bit 1 = Indice univoco.
0 = L'indice non è univoco.

Sempre 0 per gli indici columnstore cluster.
data_space_id int ID dello spazio dati per l'indice. Lo spazio dati può essere un filegroup o uno schema di partizione.

0 = object_id è una funzione con valori di tabella o un indice in memoria.
ignore_dup_key bit 1 = IGNORE_DUP_KEY è ACCESO.
0 = IGNORE_DUP_KEY è OFF.
is_primary_key bit 1 = L'indice fa parte di un vincolo PRIMARY KEY.

Sempre 0 per gli indici columnstore cluster.
is_unique_constraint bit 1 = L'indice fa parte di un vincolo UNIQUE.

Sempre 0 per gli indici columnstore cluster.
fill_factor tinyint > 0 = percentuale FILLFACTOR utilizzata quando l'indice è stato creato o ricompilato.
0 = Valore predefinito

Sempre 0 per gli indici columnstore cluster.
is_padded bit 1 = PADINDEX è ATTIVO.
0 = PADINDEX è OFF.

Sempre 0 per gli indici columnstore cluster.
is_disabled bit 1 = L'indice è disabilitato.
0 = L'indice non è disabilitato.
is_hypothetical bit 1 = L'indice è ipotetico e non può essere usato direttamente come percorso di accesso ai dati. Gli indici ipotetici contengono le statistiche a livello di colonna.

0 = L'indice non è ipotetico.
allow_row_locks bit 1 = L'indice consente blocchi di riga.
0 = L'indice non consente blocchi di riga.

Sempre 0 per gli indici columnstore cluster.
allow_page_locks bit 1 = L'indice consente blocchi di pagina.
0 = L'indice non consente blocchi di pagina.

Sempre 0 per gli indici columnstore cluster.
has_filter bit 1 = L'indice dispone di un filtro e contiene solo righe che soddisfanno la definizione del filtro.
0 = L'indice non ha un filtro.
filter_definition nvarchar(max) Espressione per il subset di righe incluso nell'indice filtrato.

NULL per heap, indice non filtrato o autorizzazioni insufficienti per la tabella.
compression_delay int > 0 = Ritardo di compressione dell'indice columnstore specificato in minuti.

NULL = Il ritardo di compressione del rowgroup dell'indice columnstore viene gestito automaticamente.
suppress_dup_key_messages 3, 6, 7 bit 1 = L'indice è configurato per eliminare i messaggi di chiave duplicati durante un'operazione di ricompilazione dell'indice.

0 = L'indice non è configurato per eliminare i messaggi di chiave duplicati durante un'operazione di ricompilazione dell'indice.
auto_created 6 bit 1 = Indice creato dall'ottimizzazione automatica.
0 = Indice creato dall'utente.
optimize_for_sequential_key 4, 6, 7 bit 1 = L'ottimizzazione dell'inserimento dell'ultima pagina è abilitata.
0 = Valore predefinito. L'ottimizzazione dell'inserimento dell'ultima pagina è disabilitata.

1Si applica a: SQL Server 2012 (11.x) e versioni successive.

2Si applica a: SQL Server 2014 (12.x) e versioni successive.

3Si applica a: SQL Server 2017 (14.x) e versioni successive.

4Si applica a: SQL Server 2019 (15.x) e versioni successive.

5Si applica a: SQL Server 2025 (17.x) e versioni successive.

6Si applica a: Database SQL di Azure.

7Si applica a: Istanza gestita di SQL di Azure.

8NONCLUSTERED HASH indici sono supportati solo nelle tabelle ottimizzate per la memoria. La sys.hash_indexes vista mostra gli indici hash correnti e le proprietà hash. Per altre informazioni, vedere sys.hash_indexes.

Permissions

La visibilità dei metadati nelle viste del catalogo è limitata alle entità a protezione diretta di cui l'utente è proprietario o per le quali dispone di autorizzazioni. Per altre informazioni, vedere Configurazione della visibilità dei metadati.

Examples

Il seguente esempio restituisce tutti gli indici della tabella Production.Product nel database AdventureWorks2025.

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