sys.dm_db_missing_index_columns (Transact-SQL)sys.dm_db_missing_index_columns (Transact-SQL)

APLICA-SE A: simSQL Server simBanco de Dados SQL do Azure nãoAzure Synapse Analytics (SQL DW) nãoParallel Data Warehouse APPLIES TO: yesSQL Server yesAzure SQL Database noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse

Retorna informações sobre as colunas de tabela de banco de dados que estão ausentes em um índice, exceto os índices espaciais.Returns information about database table columns that are missing an index, excluding spatial indexes. DM db_missing_index_columns é uma função de gerenciamento dinâmico.sys.dm_db_missing_index_columns is a dynamic management function.

SintaxeSyntax

  
sys.dm_db_missing_index_columns(index_handle)  

ArgumentosArguments

index_handleindex_handle
Número inteiro que identifica exclusivamente um índice ausente.An integer that uniquely identifies a missing index. Pode ser obtido nos seguintes objetos de gerenciamento dinâmico:It can be obtained from the following dynamic management objects:

sys.dm_db_missing_index_details (Transact-SQL)sys.dm_db_missing_index_details (Transact-SQL)

sys.dm_db_missing_index_groups (Transact-SQL)sys.dm_db_missing_index_groups (Transact-SQL)

Tabela retornadaTable Returned

Nome da colunaColumn name Tipo de dadosData type DescriçãoDescription
column_idcolumn_id intint ID da coluna.ID of the column.
column_namecolumn_name sysnamesysname Nome da coluna da tabela.Name of the table column.
column_usagecolumn_usage varchar(20)varchar(20) Como a coluna é usada pela consulta.How the column is used by the query. Os valores possíveis e suas descrições são:The possible values and their descriptions are:

IGUALDADE: A coluna contribui com um predicado que expressa igualdade, do formulário:EQUALITY: Column contributes to a predicate that expresses equality, of the form:
table.column = constant_valuetable.column = constant_value

OPERADOR DE DESIGUALDADE: A coluna contribui com um predicado que expressa desigualdade, por exemplo, um predicado do formulário: tabela > constant_value.INEQUALITY: Column contributes to a predicate that expresses inequality, for example, a predicate of the form: table.column > constant_value. Qualquer operador de comparação diferente de "=" expressa desigualdade.Any comparison operator other than "=" expresses inequality.

INCLUEM: Coluna não é usada para avaliar um predicado, mas é usada por outro motivo, por exemplo, para abranger uma consulta.INCLUDE: Column is not used to evaluate a predicate, but is used for another reason, for example, to cover a query.

ComentáriosRemarks

Informações retornadas por DM db_missing_index_columns é atualizada quando uma consulta for otimizada pelo otimizador de consulta e não é persistente.Information returned by sys.dm_db_missing_index_columns is updated when a query is optimized by the query optimizer, and is not persisted. As informações do índice ausente são mantidas apenas até o SQL ServerSQL Server ser reiniciado.Missing index information is kept only until SQL ServerSQL Server is restarted. Os administradores de banco de dados devem periodicamente gerar cópias de backup de informações de índice ausente se quiserem mantê-las após o desligamento e a reinicialização do servidor.Database administrators should periodically make backup copies of the missing index information if they want to keep it after server recycling.

Consistência de transaçãoTransaction Consistency

Se uma transação criar ou descartar uma tabela, as linhas contendo as informações de índice ausente sobre os objetos descartados serão removidas do objeto de gerenciamento dinâmico, preservando a consistência da transação.If a transaction creates or drops a table, the rows containing missing index information about the dropped objects are removed from this dynamic management object, preserving transaction consistency.

PermissõesPermissions

Os usuários devem receber a permissão VIEW SERVER STATE ou qualquer permissão que implique que a permissão VIEW SERVER STATE consulte essa função de gerenciamento dinâmico.Users must be granted the VIEW SERVER STATE permission or any permission that implies the VIEW SERVER STATE permission to query this dynamic management function.

ExemplosExamples

O exemplo a seguir executa uma consulta na tabela Address e executa uma consulta usando a exibição de gerenciamento dinâmico sys.dm_db_missing_index_columns para retornar as colunas de tabela com índice ausente.The following example runs a query against the Address table and then runs a query using the sys.dm_db_missing_index_columns dynamic management view to return the table columns that are missing an index.

USE AdventureWorks2012;  
GO  
SELECT City, StateProvinceID, PostalCode  
FROM Person.Address  
WHERE StateProvinceID = 9;  
GO  
SELECT mig.*, statement AS table_name,  
    column_id, column_name, column_usage  
FROM sys.dm_db_missing_index_details AS mid  
CROSS APPLY sys.dm_db_missing_index_columns (mid.index_handle)  
INNER JOIN sys.dm_db_missing_index_groups AS mig ON mig.index_handle = mid.index_handle  
ORDER BY mig.index_group_handle, mig.index_handle, column_id;  
GO  

Consulte tambémSee Also

sys.dm_db_missing_index_details (Transact-SQL) sys.dm_db_missing_index_details (Transact-SQL)
sys.dm_db_missing_index_groups (Transact-SQL) sys.dm_db_missing_index_groups (Transact-SQL)
sys.dm_db_missing_index_group_stats (Transact-SQL)sys.dm_db_missing_index_group_stats (Transact-SQL)