Condividi tramite


sys.indexes (Transact-SQL)

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.

Si applica a: SQL Server (daSQL Server 2008 alla versione corrente), Database SQL di Windows Azure (dalla versione iniziale alla versione corrente).

Nome della colonna

Tipo di dati

Descrizione

object_id

int

ID dell'oggetto a cui appartiene l'indice.

name

sysname

Nome dell'indice. name è un valore univoco solo nell'ambito dell'oggetto.

NULL = Heap

index_id

int

ID dell'indice. index_id è un valore univoco solo nell'ambito dell'oggetto.

0 = Heap

1 = indice cluster

> 1 = Indice non cluster

tipo

tinyint

Tipo di indice:

0 = Heap

1 = cluster

2 = Non cluster

3 = XML

4 = Spaziale

5 = Indice columnstore cluster

6 = indice columnstore non cluster

7 = indice hash non cluster

type_desc

nvarchar(60)

Descrizione del tipo di indice:

HEAP

CLUSTERED

NONCLUSTERED

XML

SPATIAL

CLUSTERED COLUMNSTORE

Si applica a: da SQL Server 2014 a SQL Server 2014.

NONCLUSTERED COLUMNSTORE

Si applica a: SQL Server 2012 tramite SQL Server 2014.

NONCLUSTERED HASH

Gli indici NONCLUSTERED HASH sono supportati solo nelle tabelle con ottimizzazione per la memoria. Nella vista sys.hash_indexes vengono mostrati gli indici hash correnti e le proprietà hash. Per ulteriori informazioni, vedere sys.hash_indexes (Transact-SQL).

Si applica a: SQL Server 2014 tramite SQL Server 2014.

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 utilizzata al momento della creazione o ricostruzione 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 l'heap o l'indice non filtrato.

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 ulteriori informazioni, vedere Configurazione della visibilità dei metadati.

Esempi

Nell'esempio seguente vengono restituiti tutti gli indici per la tabella Production.Product nel database AdventureWorks2012.

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

Riferimento

Viste del catalogo per gli oggetti (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)

Concetti

Domande frequenti sull'esecuzione di query sul catalogo di sistema di SQL Server

OLTP in memoria (ottimizzazione per la memoria)