sys.indexes (Transact-SQL)
Si applica a: SQL Server (tutte le versioni supportate)
database SQL di Azure
Istanza gestita di SQL di Azure
Azure Synapse Analytics
Parallel Data Warehouse
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 colonna | Tipo di dati | Descrizione |
---|---|---|
object_id | int | ID dell'oggetto a cui appartiene l'indice. |
nome | 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. Si applica a: SQL Server 2014 (12.x) e versioni successive. 6 = Indice columnstore non cluster. Si applica a: SQL Server 2012 (11.x) e versioni successive. 7 = Indice hash non cluster. Si applica a: SQL Server 2014 (12.x) e versioni successive. |
type_desc | nvarchar(60) | Descrizione del tipo di indice: HEAP CLUSTERED NONCLUSTERED XML SPATIAL CLUSTERED COLUMNSTORE : si applica a: SQL Server 2014 (12.x) e versioni successive. COLUMNSTORE NON CLUSTER: si applica a: SQL Server 2012 (11.x) e versioni successive. HASH NONCLUSTERED: gli indici HASH NONCLUSTERED sono supportati solo nelle tabelle ottimizzate per la memoria. Nella vista sys.hash_indexes vengono mostrati gli indici hash correnti e le proprietà hash. Per altre informazioni, vedere sys.hash_indexes (Transact-SQL). Si applica a: SQL Server 2014 (12.x) e versioni successive. |
is_unique | bit | 1 = Indice univoco. 0 = 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 è ON. 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 usata durante la creazione o la ricompilazione dell'indice. 0 = Valore predefinito Sempre 0 per gli indici columnstore cluster. |
is_padded | bit | 1 = PADINDEX è ON. 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 utilizzato 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 dispone di 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 | bit | 1 = L'indice è configurato per eliminare i messaggi di chiave duplicata durante un'operazione di ricompilazione dell'indice. 0 = L'indice non è configurato per eliminare i messaggi di chiave duplicata durante un'operazione di ricompilazione dell'indice. Si applica a: SQL Server (A partire da SQL Server 2017 (14.x)), database SQL di Azuree Istanza gestita di SQL di Azure |
auto_created | bit | 1 = L'indice è stato creato dall'ottimizzazione automatica. 0 = L'indice è stato creato dall'utente. Si applica a: database SQL di Azure |
optimize_for_sequential_key | bit | 1 = L'ottimizzazione dell'inserimento nell'ultima pagina è abilitata per l'indice. 0 = Valore predefinito. L'ottimizzazione dell'inserimento dell'ultima pagina è disabilitata per l'indice. Si applica a: SQL Server (A partire da SQL Server 2019 (15.x)), database SQL di Azuree Istanza gestita di SQL di Azure |
Autorizzazioni
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 Metadata Visibility Configuration.
Esempio
Nell'esempio seguente vengono restituiti tutti gli indici per la Production.Product
tabella nel AdventureWorks2012 database .
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
Vedere anche
Viste del catalogo dell'oggetto (Transact-SQL)
Viste del catalogo (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)
Domande frequenti sull'SQL Server di sistema
OLTP in memoria (ottimizzazione per la memoria)