sys.dm_db_index_usage_stats (Transact-SQL)

返回不同类型索引操作的计数以及上次执行每种操作的时间。

列名

数据类型

说明

database_id

smallint

定义表或视图所在的数据库 ID。

object_id

int

为其定义索引的表或视图的 ID。

index_id

int

索引的 ID。

user_seeks

bigint

通过用户查询执行的搜索次数。

user_scans

bigint

通过用户查询执行的扫描次数。

user_lookups

bigint

由用户查询执行的书签查找操作的次数。

user_updates

bigint

通过用户查询执行的更新次数。

last_user_seek

datetime

用户上次执行搜索的时间。

last_user_scan

datetime

用户上次执行扫描的时间。

last_user_lookup

datetime

用户上次执行查找的时间。

last_user_update

datetime

用户上次执行更新的时间。

system_seeks

bigint

通过系统查询执行的搜索次数。

system_scans

bigint

通过系统查询执行的扫描次数。

system_lookups

bigint

通过系统查询执行的查找次数。

system_updates

bigint

通过系统查询执行的更新次数。

last_system_seek

datetime

系统上次执行搜索的时间。

last_system_scan

datetime

系统上次执行扫描的时间。

last_system_lookup

datetime

系统上次执行查找的时间。

last_system_update

datetime

系统上次执行更新的时间。

注释

由一个查询执行对指定索引所进行的每个单独的搜索、扫描、查找或更新都被计为对该索引的一次使用,并使此视图中的相应计数器递增。对于由用户提交的查询所引发的操作以及由内部生成的查询所引发的操作(例如为收集统计信息而进行的扫描),都将报告相应的信息。

user_updates 计数器指示由基础表或视图上的插入、更新或删除操作所引起的索引维护级别。可以使用此视图确定应用程序极少使用的索引。还可以使用此视图确定引发维护开销的索引。您可能要删除引发维护开销但不用于查询或只是偶尔用于查询的索引。

只要启动 SQL Server (MSSQLSERVER) 服务,计数器就初始化为空。而且,当分离或关闭数据库时(例如,由于 AUTO_CLOSE 设置为 ON),便会删除与该数据库关联的所有行。

使用索引时,如果某行并未针对该索引而存在,则将该行添加到 sys.dm_db_index_usage_stats 中。当添加该行时,它的计数器会初始设置为零。

权限

需要 VIEW SERVER STATE 权限。有关详细信息,请参阅动态管理视图和函数 (Transact-SQL)