INDEXPROPERTY (Transact-SQL)
Aplica-se a: SQL Server Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure Azure Synapse Analytics Analytics Platform System (PDW)
Retorna o índice nomeado ou valor de propriedade de estatísticas de um número de identificação de tabela, índice ou nome de estatísticas e nome de propriedade especificados. Retorna NULL para índices XML.
Convenções de sintaxe de Transact-SQL
Sintaxe
INDEXPROPERTY ( object_ID , index_or_statistics_name , property )
Argumentos
object_ID
É uma expressão que contém o número de identificação do objeto da tabela ou exibição indexada para o qual fornecer as informações de propriedade de índice. object_ID é int.
index_or_statistics_name
É uma expressão que contém o nome do índice ou estatísticas para o qual retornar as informações de propriedade. index_or_statistics_name é nvarchar(128).
property
É uma expressão que contém o nome da propriedade do banco de dados a ser retornada. property é varchar(128) e pode ter um destes valores.
Observação
A menos que indicado o contrário, NULL é retornado quando property não é um nome de propriedade válido, object_ID não é uma ID de objeto válida, object_ID é um tipo de objeto sem suporte para a propriedade especificada ou o chamador não tem permissão para exibir os metadados do objeto.
Propriedade | Descrição | Valor |
---|---|---|
IndexDepth | Profundidade do índice. | Número de níveis de índice. NULL = O índice XML ou saída não é válido. |
IndexFillFactor | Valor do fator de preenchimento usado quando o índice foi criado ou reconstruído pela última vez. | Fator de preenchimento |
IndexID | ID de índice do índice em uma tabela ou exibição indexada especificada. | ID de índice |
IsAutoStatistics | Estatísticas foram geradas pela opção AUTO_CREATE_STATISTICS de ALTER DATABASE. | 1 = True 0 = False ou índice XML. |
IsClustered | O índice é clusterizado. | 1 = True 0 = False ou índice XML. |
IsDisabled | O índice está desabilitado. | 1 = True 0 = False NULL = A entrada não é válida. |
IsFulltextKey | O índice é o texto completo e a chave de indexação semântica de uma tabela. | Aplica-se a: SQL Server 2008 (10.0.x) e posterior. 1 = True 0 = False ou índice XML. NULL = A entrada não é válida. |
IsHypothetical | O índice é hipotético e não pode ser usado diretamente como um caminho de acesso de dados. Os índices hipotéticos retêm estatísticas do nível de coluna e são mantidos e usados pelo Orientador de Otimização do Mecanismo de Banco de Dados. | 1 = True 0 = False ou índice XML NULL = A entrada não é válida. |
IsPadIndex | O índice especifica o espaço a ser deixado aberto em cada nó interior. | Aplica-se a: SQL Server 2008 (10.0.x) e posterior. 1 = True 0 = False ou índice XML. |
IsPageLockDisallowed | Valor de bloqueio de página definido pela opção ALLOW_PAGE_LOCKS de ALTER INDEX. | Aplica-se a: SQL Server 2008 (10.0.x) e posterior. 1 = O bloqueio de página não é permitido. 0 = O bloqueio de página é permitido. NULL = A entrada não é válida. |
IsRowLockDisallowed | Valor de bloqueio de linha definido pela opção ALLOW_ROW_LOCKS de ALTER INDEX. | Aplica-se a: SQL Server 2008 (10.0.x) e posterior. 1 = O bloqueio de linha não é permitido. 0 = O bloqueio de linha é permitido. NULL = A entrada não é válida. |
IsStatistics | index_or_statistics_name são as estatísticas criadas pela instrução CREATE STATISTICS ou pela opção AUTO_CREATE_STATISTICS de ALTER DATABASE. | 1 = True 0 = False ou índice XML. |
IsUnique | O índice é exclusivo. | 1 = True 0 = False ou índice XML. |
IsColumnstore | Índice é um índice columnstore xVelocity de memória otimizada. | Aplica-se a: SQL Server 2012 (11.x) e posterior. 1 = True 0 = False |
IsOptimizedForSequentialKey | O índice tem a otimização para inserções de última página habilitada. | Aplica-se a: SQL Server 2019 (15.x) e posterior. 1 = True 0 = False |
Tipos de retorno
int
Exceções
Retornará NULL em caso de erro ou se um chamador não tiver permissão para exibir o objeto.
Um usuário só pode exibir metadados de protegíveis de sua propriedade ou para os quais recebeu permissão. Isso significa que as funções internas emissoras de metadados, como INDEXPROPERTY, podem retornar NULL se o usuário não tiver permissão no objeto. Para obter mais informações, consulte Metadata Visibility Configuration.
Exemplos
O exemplo a seguir retorna os valores das propriedades IsClustered, IndexDepth e IndexFillFactor para o índice PK_Employee_BusinessEntityID
da tabela Employee
no banco de dados 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];
Este é o conjunto de resultados:
Is Clustered Index Depth Fill Factor
------------ ----------- -----------
1 2 0
(1 row(s) affected)
Exemplos: Azure Synapse Analytics e PDW (Analytics Platform System)
O exemplo a seguir examina as propriedades de um dos índices na tabela 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
Consulte Também
CREATE INDEX (Transact-SQL)
Estatísticas
sys.indexes (Transact-SQL)
sys.index_columns (Transact-SQL)
sys.stats (Transact-SQL)
sys.stats_columns (Transact-SQL)