sys.dm_db_missing_index_columns (Transact-SQL)
Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada de SQL do Azure
Retorna informações sobre colunas de tabela de banco de dados que não têm um índice. sys.dm_db_missing_index_columns
é uma função de gerenciamento dinâmico.
Sintaxe
sys.dm_db_missing_index_columns(index_handle)
Argumentos
index_handle
Número inteiro que identifica exclusivamente um índice ausente. Pode ser obtido nos seguintes objetos de gerenciamento dinâmico:
sys.dm_db_missing_index_details (Transact-SQL)
sys.dm_db_missing_index_groups (Transact-SQL)
Tabela retornada
Nome da coluna | Tipo de dados | Descrição |
---|---|---|
column_id | int | ID da coluna. |
column_name | sysname | Nome da coluna da tabela. |
column_usage | varchar(20) | Como a coluna é usada pela consulta. Os valores possíveis e suas descrições são: IGUALDADE: a coluna contribui para um predicado que expressa igualdade, da forma: table.column = constant_value DESIGUALDADE: a coluna contribui para um predicado que expressa desigualdade, por exemplo, um predicado do formulário: table.column>constant_value. Qualquer operador de comparação diferente de "=" expressa desigualdade. INCLUDE: a coluna não é usada para avaliar um predicado, mas é usada por outro motivo, por exemplo, para cobrir uma consulta. |
Comentários
As informações retornadas por sys.dm_db_missing_index_columns
são atualizadas quando uma consulta é otimizada pelo otimizador de consulta e não é persistente. As informações de índice ausentes são mantidas somente até que o mecanismo de banco de dados seja reiniciado. 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. Use a coluna sqlserver_start_time
em sys.dm_os_sys_info para localizar a última hora de inicialização do mecanismo de banco de dados.
Consistência de transação
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.
Permissões
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.
Permissões para SQL Server 2022 e posterior
Requer a permissão VIEW SERVER PERFORMANCE STATE no servidor.
Exemplos
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.
USE AdventureWorks2022;
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
As sugestões de índice ausentes devem ser combinadas quando possível entre si e com índices existentes no banco de dados atual. Saiba como aplicar essas sugestões em ajustar índices não clusterizados com sugestões de índice ausentes.
Próximas etapas
Saiba mais sobre o recurso de índice ausente nos seguintes artigos:
- Ajustar índices não clusterizados com sugestões de índice ausente
- sys.dm_db_missing_index_details (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_query (Transact-SQL)
- sys.dm_os_sys_info (Transact-SQL)
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de