sys.dm_db_index_usage_stats (Transact-SQL)

傳回不同類型索引作業的計數,以及 SQL Server 中每種類型作業上次執行的時間。

在 Windows Azure SQL 資料庫,動態管理檢視不可以公開可能會影響資料庫內含項目的資訊或公開有關使用者可存取之其他資料庫的資訊。 為了避免公開此資訊,包含不屬於連接租用戶之資料的每個資料列都會被篩選出來。

注意

sys.dm_db_index_usage_stats 不會傳回記憶體最佳化索引的相關資訊。如需記憶體最佳化索引用法的詳細資訊,請參閱<sys.dm_db_xtp_index_stats (Transact-SQL)>。

適用於:SQL Server (SQL Server 2008 至目前版本)、Windows Azure SQL 資料庫 (初始版本至目前版本)。

資料行名稱

資料類型

描述

database_id

smallint

定義資料表或檢視的資料庫識別碼。

object_id

int

定義索引之資料表或檢視的識別碼。

index_id

int

索引的識別碼。

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)>。

請參閱

參考

動態管理檢視和函數 (Transact-SQL)

索引相關的動態管理檢視和函數 (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)

概念

效能的監視與微調