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)