INDEXPROPERTY (Transact-SQL)

Si applica a: SQL Server Database SQL di Azure Istanza gestita di SQL di Azure Azure Synapse Analytics Piattaforma di strumenti analitici (PDW)

Restituisce il valore delle proprietà di indice o statistiche specificate in base al numero di identificazione della tabella, al nome dell'indice o delle statistiche e al nome della proprietà. Restituisce NULL per gli indici XML.

Convenzioni relative alla sintassi Transact-SQL

Sintassi

INDEXPROPERTY ( object_ID , index_or_statistics_name , property )   

Argomenti

object_ID
Espressione che contiene il numero di identificazione della tabella o vista indicizzata di cui si desidera ottenere informazioni sulla proprietà dell'indice. object_ID è di tipo int.

index_or_statistics_name
Espressione che contiene il nome dell'indice o delle statistiche per cui si desidera ottenere informazioni sulle proprietà. index_or_statistics_name è di tipo nvarchar(128).

property
Espressione che contiene il nome della proprietà del database da restituire. property è di tipo varchar(128). I valori possibili sono i seguenti.

Nota

Se non specificato diversamente, viene restituito NULL quando property non è un nome di proprietà valido, object_ID non è un ID di oggetto valido, object_ID è un tipo di oggetto non supportato per la proprietà specificata oppure il chiamante non ha l'autorizzazione necessaria per visualizzare i metadati dell'oggetto.

Proprietà Descrizione valore
IndexDepth Dettagli dell'indice. Numero di livelli dell'indice.

NULL = indice XML o input non valido.
IndexFillFactor Valore del fattore di riempimento utilizzato quando l'indice è stato creato o ricompilato per l'ultima volta. Fattore di riempimento
IndexID ID dell'indice della tabella o vista indicizzata specificata. ID dell'indice
IsAutoStatistics Le statistiche sono state generate mediante l'opzione AUTO_CREATE_STATISTICS di ALTER DATABASE. 1 = True

0 = False o indice XML.
IsClustered Indice cluster. 1 = True

0 = False o indice XML.
IsDisabled L'indice è disabilitato. 1 = True

0 = False

NULL = Input non valido.
IsFulltextKey L'indice è la chiave di indicizzazione full-text e semantica per una tabella. Si applica a: SQL Server 2008 (10.0.x) e versioni successive.

1 = True

0 = False o indice XML.

NULL = Input non valido.
IsHypothetical L'indice è ipotetico e non può essere utilizzato direttamente come percorso di accesso ai dati. Gli indici ipotetici contengono statistiche a livello di colonna e vengono gestiti e utilizzati da Ottimizzazione guidata motore di database. 1 = True

0 = false o indice XML.

NULL = Input non valido.
IsPadIndex All'indice è associata la quantità di spazio da lasciare aperto in ogni nodo interno. Si applica a: SQL Server 2008 (10.0.x) e versioni successive.

1 = True

0 = False o indice XML.
IsPageLockDisallowed Valore per il blocco di pagina impostato mediante l'opzione ALLOW_PAGE_LOCKS di ALTER INDEX. Si applica a: SQL Server 2008 (10.0.x) e versioni successive.

1 = il blocco di pagina è disattivato.

0 = il blocco di pagina è attivato.

NULL = Input non valido.
IsRowLockDisallowed Valore per il blocco di riga impostato tramite l'opzione ALLOW_ROW_LOCKS di ALTER INDEX. Si applica a: SQL Server 2008 (10.0.x) e versioni successive.

1 = il blocco di riga è disattivato.

0 = il blocco di riga è attivato.

NULL = Input non valido.
IsStatistics index_or_statistics_name rappresenta le statistiche create dall'istruzione CREATE STATISTICS o dall'opzione AUTO_CREATE_STATISTICS di ALTER DATABASE. 1 = True

0 = False o indice XML.
IsUnique Indice univoco. 1 = True

0 = False o indice XML.
IsColumnstore L'indice è un indice columnstore con ottimizzazione per la memoria xVelocity. Si applica a: SQL Server 2012 (11.x) e versioni successive.

1 = True

0 = False
IsOptimizedForSequentialKey L'ottimizzazione dell'indice per gli inserimenti dell'ultima pagina è abilitata. Si applica a: SQL Server 2019 (15.x) e versioni successive.

1 = True

0 = False

Tipi restituiti

int

Eccezioni

Restituisce NULL in caso di errore o se un chiamante non dispone dell'autorizzazione necessaria per visualizzare l'oggetto.

Un utente può visualizzare esclusivamente i metadati delle entità a sicurezza diretta di cui è proprietario o per cui ha ricevuto un'autorizzazione. Di conseguenza, le funzioni predefinite di creazione dei metadati come INDEXPROPERTY possono restituire NULL se l'utente non dispone di alcuna autorizzazione per l'oggetto. Per altre informazioni, vedere Metadata Visibility Configuration.

Esempi

Nell'esempio seguente vengono restituiti i valori per le proprietà IsClustered, IndexDepth e IndexFillFactor per l'indice PK_Employee_BusinessEntityID della Employee tabella nel database AdventureWorks2022.

SELECT   
    INDEXPROPERTY(OBJECT_ID('HumanResources.Employee'),  
        'PK_Employee_BusinessEntityID','IsClustered')AS [Is Clustered],  
    INDEXPROPERTY(OBJECT_ID('HumanResources.Employee'),  
        'PK_Employee_BusinessEntityID','IndexDepth') AS [Index Depth],  
    INDEXPROPERTY(OBJECT_ID('HumanResources.Employee'),  
        'PK_Employee_BusinessEntityID','IndexFillFactor') AS [Fill Factor];  
  

Set di risultati:

Is Clustered Index Depth Fill Factor   
------------ ----------- -----------   
1            2           0  
  
(1 row(s) affected)  

Esempi: Azure Synapse Analytics e Piattaforma di strumenti analitici (PDW)

Nell'esempio seguente vengono esaminate le proprietà di uno degli indici nella tabella FactResellerSales.

-- Uses AdventureWorks  
  
SELECT   
INDEXPROPERTY(OBJECT_ID('dbo.FactResellerSales'),  
    'ClusteredIndex_6d10fa223e5e4c1fbba087e29e16a7a2','IsClustered') AS [Is Clustered],  
INDEXPROPERTY(OBJECT_ID('dbo.FactResellerSales'),  
    'ClusteredIndex_6d10fa223e5e4c1fbba087e29e16a7a2','IsColumnstore') AS [Is Columnstore Index],  
INDEXPROPERTY(OBJECT_ID('dbo.FactResellerSales'),  
    'ClusteredIndex_6d10fa223e5e4c1fbba087e29e16a7a2','IndexFillFactor') AS [Fill Factor];  
GO  

Vedi anche

CREATE INDEX (Transact-SQL)
Statistica
sys.indexes (Transact-SQL)
sys.index_columns (Transact-SQL)
sys.stats (Transact-SQL)
sys.stats_columns (Transact-SQL)