Partilhar via


sys.dm_db_index_usage_stats (Transact-SQL)

Aplica-se a:Banco de Dados SQL doAzureInstância Gerenciada de SQL do AzureAzure Synapse AnalyticsAnalytics Platform System (PDW)Banco de Dados SQL no Microsoft Fabric

Os retornos contam diferentes tipos de operações de índice e a última vez que cada tipo de operação foi realizada.

No Banco de Dados SQL do Azure, as exibições de gerenciamento dinâmico não podem expor informações que possam afetar a contenção do banco de dados ou expor informações sobre outros bancos de dados aos quais o usuário tem acesso. Para evitar a exposição dessas informações, todas as linhas que contêm dados que não pertencem ao locatário conectado são filtradas.

Observação

O DMV sys.dm_db_index_usage_stats não devolve informações sobre índices otimizados para memória ou índices espaciais. Para informações sobre o uso de índices otimizados para memória, veja sys.dm_db_xtp_index_stats (Transact-SQL).

Observação

Para chamar esta vista a partir do Azure Synapse Analytics ou Analytics Platform System (PDW), use sys.dm_pdw_nodes_db_index_usage_stats. Essa sintaxe não é suportada pelo pool SQL sem servidor no Azure Synapse Analytics.

Nome da coluna Tipo de dados Description
database_id smallint ID da base de dados onde a tabela ou vista está definida.

No Banco de Dados SQL do Azure, os valores são exclusivos em um único banco de dados ou pool elástico, mas não em um servidor lógico.
object_id int ID da tabela ou vista onde o índice está definido
index_id int ID do índice.
user_seeks bigint Número de pesquisas por consultas dos utilizadores.
user_scans bigint Número de análises feitas por consultas de utilizador que não usaram o predicado 'procurar'.
user_lookups bigint Número de consultas de favoritos por consultas dos utilizadores.
user_updates bigint Número de atualizações por consulta dos utilizadores. Isto inclui Inserir, Eliminar e Atualizações, representando o número de operações realizadas e não as linhas reais afetadas. Por exemplo, se apagar 1000 linhas numa instrução, esta contagem incrementa em 1
last_user_seek datetime Hora da última procura do utilizador
last_user_scan datetime Hora da última digitalização do utilizador.
last_user_lookup datetime Hora da última pesquisa de utilizador.
last_user_update datetime Hora da última atualização do utilizador.
system_seeks bigint Número de pesquisas por consultas do sistema.
system_scans bigint Número de digitalizações por consultas do sistema.
system_lookups bigint Número de consultas por consultas do sistema.
system_updates bigint Número de atualizações por consultas do sistema.
last_system_seek datetime Hora da última procura do sistema.
last_system_scan datetime Hora da última varredura do sistema.
last_system_lookup datetime Hora da última consulta do sistema.
last_system_update datetime Hora da última atualização do sistema.
pdw_node_id int Aplica-se a: Azure Synapse Analytics, Analytics Platform System (PDW)

O identificador do nó em que esta distribuição se encontra.

Observações

Cada procura, varrimento, pesquisa ou atualização individual no índice especificado por uma execução de consulta é contado como o uso desse índice e incrementa o contador correspondente nesta visão. A informação é reportada tanto para operações causadas por consultas submetidas pelo utilizador, como para operações geradas por consultas geradas internamente, como varreduras para recolha de estatísticas.

A user_updates coluna é um contador de manutenção no índice causada por operações de inserção, atualização ou eliminação na tabela ou vista subjacente. Pode usar esta vista para determinar quais índices são usados apenas de forma leve pelas suas aplicações. Também pode usar a vista para determinar quais índices estão a gerar custos de manutenção. Pode querer considerar eliminar índices que geram custos de manutenção, mas que não são usados para consultas, ou são usados apenas raramente para consultas.

Os contadores são inicializados para vazios sempre que o motor da base de dados é iniciado. Use a sqlserver_start_time coluna no sys.dm_os_sys_info para localizar a última hora de inicialização do mecanismo de banco de dados. Além disso, sempre que uma base de dados é destacada ou encerrada (por exemplo, porque AUTO_CLOSE está definida para ON), todas as linhas associadas à base de dados são removidas.

Quando um índice é usado, uma linha é adicionada a sys.dm_db_index_usage_stats se ainda não existir uma linha para o índice. Quando a linha é adicionada, os seus contadores são inicialmente definidos para zero.

Durante a atualização para SQL Server 2008 R2 (10.50.x), SQL Server 2012 (11.x) ou SQL Server 2014 (12.x), as entradas em sys.dm_db_index_usage_stats são removidas. A partir do SQL Server 2016 (13.x), as entradas mantêm-se como eram antes do SQL Server 2008 R2 (10.50.x).

Permissions

No SQL Server e na Instância Gerenciada do SQL, requer VIEW SERVER STATE permissão.

No Banco de Dados SQL Basic, S0e S1 objetivos de serviço e para bancos de dados em pools elásticos , a conta de de administrador do servidor, a conta de de administrador do Microsoft Entra ou a associação aode função de servidor ##MS_ServerStateReader## é necessária. Em todos os outros objetivos de serviço do Banco de dados SQL, é necessária a permissão VIEW DATABASE STATE no banco de dados ou a associação à função de servidor ##MS_ServerStateReader##.

Permissões para SQL Server 2022 e posterior

Requer a permissão VIEW SERVER PERFORMANCE STATE no servidor.

Consulte também

Exibições e funções de gerenciamento dinâmico relacionadas ao índice (Transact-SQL)
sys.dm_db_index_physical_stats (Transact-SQL)
sys.dm_db_index_operational_stats (Transact-SQL)
sys.indexes (Transact-SQL)
sys.objects (Transact-SQL)
sys.dm_os_sys_info (Transact-SQL)
Monitore e ajuste para otimizar o desempenho