sys.dm_db_index_usage_stats (Transact-SQL)sys.dm_db_index_usage_stats (Transact-SQL)

ESTE TÓPICO APLICA-SE A: simSQL Server (a partir de 2008)simBanco de Dados SQL do Microsoft AzuresimAzure SQL Data Warehouse simParallel Data Warehouse THIS TOPIC APPLIES TO: yesSQL Server (starting with 2008)yesAzure SQL DatabaseyesAzure SQL Data Warehouse yesParallel Data Warehouse

Retorna contas de tipos diferentes de operações de índice e a hora em que cada tipo de operação foi executada pela última vez.Returns counts of different types of index operations and the time each type of operation was last performed.

No Banco de dados SQL do AzureAzure SQL Database, as exibições de gerenciamento dinâmico não podem expor informações que afetarão a contenção do banco de dados ou informações sobre outros bancos de dados aos quais o usuário tem acesso.In Banco de dados SQL do AzureAzure SQL Database, dynamic management views cannot expose information that would impact database containment or expose information about other databases the user has access to. Para evitar a exposição dessas informações, cada linha que contém os dados que não pertencem ao locatário conectado será filtrada.To avoid exposing this information, every row that contains data that doesn’t belong to the connected tenant is filtered out.

Observação

DM db_index_usage_stats não retorna informações sobre índices com otimização de memória.sys.dm_db_index_usage_stats does not return information about memory-optimized indexes. Para obter informações sobre o uso de índice com otimização de memória, consulte sys.dm_db_xtp_index_stats (Transact-SQL).For information about memory-optimized index use, see sys.dm_db_xtp_index_stats (Transact-SQL).

Observação

Para esse modo de exibição de chamadas Azure SQL Data WarehouseAzure SQL Data Warehouse ou Parallel Data WarehouseParallel Data Warehouse, use sys.dm_pdw_nodes_db_index_usage_stats.To call this view from Azure SQL Data WarehouseAzure SQL Data Warehouse or Parallel Data WarehouseParallel Data Warehouse, use sys.dm_pdw_nodes_db_index_usage_stats.

Nome da colunaColumn name Tipo de dadosData type DescriptionDescription
database_iddatabase_id smallintsmallint ID do banco de dados no qual a tabela ou exibição é definida.ID of the database on which the table or view is defined.
object_idobject_id intint ID da tabela ou exibição na qual o índice é definido.ID of the table or view on which the index is defined
index_idindex_id intint ID do índice.ID of the index.
user_seeksuser_seeks bigintbigint Número de buscas através de consultas de usuário.Number of seeks by user queries.
user_scansuser_scans bigintbigint Número de exames através de consultas de usuário que não usou 'predicado de busca'.Number of scans by user queries that did not use 'seek' predicate.
user_lookupsuser_lookups bigintbigint Número de pesquisas de indicador através de consultas de usuário.Number of bookmark lookups by user queries.
user_updatesuser_updates bigintbigint Número de atualizações através de consultas de usuário.Number of updates by user queries. Isso inclui a inserção, exclusão e atualizações que representa o número de operações realizadas não reais linhas afetadas.This includes Insert, Delete, and Updates representing number of operations done not the actual rows affected. Por exemplo, se você excluir 1000 linhas em uma instrução, essa contagem é incrementada em 1For example, if you delete 1000 rows in one statement, this count increments by 1
last_user_seeklast_user_seek datetimedatetime Hora da última busca de usuário.Time of last user seek
last_user_scanlast_user_scan datetimedatetime Hora do último exame de usuário.Time of last user scan.
last_user_lookuplast_user_lookup datetimedatetime Hora da última pesquisa de usuário.Time of last user lookup.
last_user_updatelast_user_update datetimedatetime Hora da última atualização de usuário.Time of last user update.
system_seekssystem_seeks bigintbigint Número de buscas através de consultas do sistema.Number of seeks by system queries.
system_scanssystem_scans bigintbigint Número de exames através de consultas do sistema.Number of scans by system queries.
system_lookupssystem_lookups bigintbigint Número de pesquisas através de consultas do sistema.Number of lookups by system queries.
system_updatessystem_updates bigintbigint Número de atualizações através de consultas do sistema.Number of updates by system queries.
last_system_seeklast_system_seek datetimedatetime Hora da última busca do sistema.Time of last system seek.
last_system_scanlast_system_scan datetimedatetime Hora do último exame do sistema.Time of last system scan.
last_system_lookuplast_system_lookup datetimedatetime Hora da última pesquisa do sistema.Time of last system lookup.
last_system_updatelast_system_update datetimedatetime Hora da última atualização do sistema.Time of last system update.
pdw_node_idpdw_node_id intint Aplica-se ao: Azure SQL Data WarehouseAzure SQL Data Warehouse, Parallel Data WarehouseParallel Data WarehouseApplies to: Azure SQL Data WarehouseAzure SQL Data Warehouse, Parallel Data WarehouseParallel Data Warehouse

O identificador para o nó que essa distribuição é no.The identifier for the node that this distribution is on.

RemarksRemarks

Cada busca, exame, pesquisa ou atualização individual no índice especificado pela execução de uma consulta é contado como um uso desse índice e incrementa o contador correspondente nessa exibição.Every individual seek, scan, lookup, or update on the specified index by one query execution is counted as a use of that index and increments the corresponding counter in this view. As informações são relatadas para operações causadas por consultas enviadas pelo usuário e operações causadas por consultas geradas internamente, como exames de coleta de estatísticas.Information is reported both for operations caused by user-submitted queries, and for operations caused by internally generated queries, such as scans for gathering statistics.

O user_updates contador indica o nível de manutenção no índice causado por inserir, atualizar ou excluir operações na tabela ou exibição subjacente.The user_updates counter indicates the level of maintenance on the index caused by insert, update, or delete operations on the underlying table or view. Você pode usar essa exibição para determinar quais índices são pouco usados por seus aplicativos.You can use this view to determine which indexes are used only lightly by your applications. Também é possível usar a exibição para determinar quais índices estão incorrendo em sobrecarga de manutenção.You can also use the view to determine which indexes are incurring maintenance overhead. Se desejar, você pode descartar índices que incorrem em sobrecarga de manutenção, mas são pouco usados para consultas ou não são usados.You may want to consider dropping indexes that incur maintenance overhead, but are not used for queries, or are only infrequently used for queries.

Os contadores são inicializados para esvaziar sempre que o serviço do SQL ServerSQL Server (MSSQLSERVER) é iniciado.The counters are initialized to empty whenever the SQL ServerSQL Server (MSSQLSERVER) service is started. Além disso, sempre que um banco de dados é desanexado ou desligado (por exemplo, porque AUTO_CLOSE está definido como ON), todas as linhas associadas a ele são removidas.In addition, whenever a database is detached or is shut down (for example, because AUTO_CLOSE is set to ON), all rows associated with the database are removed.

Quando um índice é usado, uma linha é adicionada à DM db_index_usage_stats se uma linha ainda não existir para o índice.When an index is used, a row is added to sys.dm_db_index_usage_stats if a row does not already exist for the index. Quando a linha é adicionada, seus contadores são definidos como zero inicialmente.When the row is added, its counters are initially set to zero.

Durante a atualização para SQL Server 2008 R2SQL Server 2008 R2, SQL Server 2012 (11.x)SQL Server 2012 (11.x), ou SQL Server 2014 (12.x)SQL Server 2014 (12.x), entradas no DM db_index_usage_stats são removidas.During upgrade to SQL Server 2008 R2SQL Server 2008 R2, SQL Server 2012 (11.x)SQL Server 2012 (11.x), or SQL Server 2014 (12.x)SQL Server 2014 (12.x), entries in sys.dm_db_index_usage_stats are removed. Começando com SQL Server 2016 (13.x)SQL Server 2016 (13.x), as entradas são mantidas como eram antes SQL Server 2008 R2SQL Server 2008 R2.Beginning with SQL Server 2016 (13.x)SQL Server 2016 (13.x), entries are retained as they were prior to SQL Server 2008 R2SQL Server 2008 R2.

PermissõesPermissions

Na SQL ServerSQL Server, requer VIEW SERVER STATE permissão.On SQL ServerSQL Server, requires VIEW SERVER STATE permission.
Na Banco de Dados SQLSQL Database, requer o VIEW DATABASE STATE permissão no banco de dados.On Banco de Dados SQLSQL Database, requires the VIEW DATABASE STATE permission in the database.

Consulte tambémSee Also

Exibições e funções de gerenciamento dinâmico relacionadas ao índice (Transact-SQL) Index Related Dynamic Management Views and Functions (Transact-SQL)
sys.dm_db_index_physical_stats (Transact-SQL) sys.dm_db_index_physical_stats (Transact-SQL)
sys.dm_db_index_operational_stats (Transact-SQL) sys.dm_db_index_operational_stats (Transact-SQL)
sys.indexes (Transact-SQL) sys.indexes (Transact-SQL)
sys.objects (Transact-SQL) sys.objects (Transact-SQL)
Monitorar e ajustar o desempenhoMonitor and Tune for Performance