返回不同类型索引操作的计数以及上次执行每种操作的时间(SQL server服务重启,数据会重置)。
备注
由一个查询执行对指定索引所进行的每个单独的搜索、扫描、查找或更新都被计为对该索引的一次使用,并使此视图中的相应计数器递增。 对于由用户提交的查询所引发的操作以及由内部生成的查询所引发的操作(例如为收集统计信息而进行的扫描),都将报告相应的信息。
User_updates计数器指示的级别引起的插入的索引维护、 更新或删除对基础表或视图的操作。 可以使用此视图确定应用程序极少使用的索引。 还可以使用此视图确定引发维护开销的索引。 您可能要删除引发维护开销但不用于查询或只是偶尔用于查询的索引。
只要启动 SQL Server (MSSQLSERVER) 服务,计数器就初始化为空。 而且,当分离或关闭数据库时(例如,由于 AUTO_CLOSE 设置为 ON),便会删除与该数据库关联的所有行。
使用索引时,将行添加到sys.dm_db_index_usage_stats如果某行的索引尚不存在。 当添加该行时,它的计数器会初始设置为零。
在升级到 SQL Server 2008 R2, SQL Server 2012 (11.x),或 SQL Server 2014 (12.x),sys.dm_db_index_usage_stats 中的项会被删除。开头 SQL Server 2016 (13.x),就像之前保留条目 SQL Server 2008 R2。
列名 | 数据类型 | Description |
database_id | smallint | 在其中定义表或视图的数据库的 ID。 |
object_id | int | 为其定义索引的表或视图的 ID。 |
index_id | int | 索引的 ID。 |
user_seeks | bigint | 通过用户查询执行的搜索次数。 |
user_scans | bigint | 通过未使用的用户查询的扫描次数查找谓词。 |
user_lookups | bigint | 由用户查询执行的书签查找次数。 |
user_updates | bigint | 通过用户查询执行的更新次数。 这包括 Insert、 Delete 和更新表示操作执行不受影响的实际行数。 例如,如果删除在一个语句中的 1000年行,此计数递增 1 |
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 | 系统上次执行更新的时间。 |
pdw_node_id | int | 适用于: Azure SQL 数据仓库, 并行数据仓库 |
对于此分布的节点标识符。 |