sys.dm_db_index_usage_stats (Transact-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)>。
請參閱
參考
sys.dm_db_index_physical_stats (Transact-SQL)
sys.dm_db_index_operational_stats (Transact-SQL)