對于DBA來說,經常要手機存儲過程的某些信息:
- 執行了多少次
- 執行的執行計劃如何
- 執行的平均讀寫如何
- 執行平均需要多少時間
列名 | 數據類型 | 說明 |
---|---|---|
database_id |
int |
存儲過程所在的數據庫 ID。 |
object_id |
int |
存儲過程的對象標識號。 |
type |
char(2) |
對象的類型: P = SQL 存儲過程 PC = 程序集 (CLR) 存儲過程 X = 擴展存儲過程 |
type_desc |
nvarchar(60) |
對對象類型的說明: SQL_STORED_PROCEDURE CLR_STORED_PROCEDURE EXTENDED_STORED_PROCEDURE |
sql_handle
|
varbinary(64) |
可用于與 sys.dm_exec_query_stats 中從此存儲過程中執行的查詢關聯。 |
plan_handle |
varbinary(64) |
內存中計劃的標識符。該標識符是瞬態的,僅當計劃保留在緩存中時,它才保持不變。該值可以與 sys.dm_exec_cached_plans 動態管理視圖一起使用。 |
cached_time |
datetime |
存儲過程添加到緩存的時間。 |
cached_time |
datetime |
存儲過程添加到緩存的時間。 |
last_execution_time |
datetime |
上次執行存儲過程的時間。 |
execution_count |
bigint |
存儲過程自上次編譯以來所執行的次數。 |
total_worker_time |
bigint |
此存儲過程自編譯以來執行所用的 CPU 時間總量(微秒)。 |
last_worker_time |
bigint |
上次執行存儲過程所用的 CPU 時間(微秒)。 |
min_worker_time |
bigint |
此存儲過程在單次執行期間曾占用的最大 CPU 時間(微秒)。 |
max_worker_time |
bigint |
此存儲過程在單次執行期間曾占用的最大 CPU 時間(微秒)。 |
total_physical_reads |
bigint |
此存儲過程自編譯后在執行期間所執行的物理讀取總次數。 |
last_physical_reads |
bigint |
上次執行存儲過程時所執行的物理讀取次數。 |
min_physical_reads |
bigint |
該存儲過程在單次執行期間所執行的最少物理讀取次數。 |
max_physical_reads |
bigint |
該存儲過程在單次執行期間所執行的最大物理讀取次數。 |
total_logical_writes |
bigint |
此存儲過程自編譯后在執行期間所執行的邏輯寫入總次數。 |
last_logical_writes |
bigint |
上次執行存儲過程時所執行的邏輯寫入次數。 |
min_logical_writes |
bigint |
該存儲過程在單次執行期間所執行的最少邏輯寫入次數。 |
max_logical_writes |
bigint |
該存儲過程在單次執行期間所執行的最大邏輯寫入次數。 |
total_logical_reads |
bigint |
此存儲過程自編譯后在執行期間所執行的邏輯讀取總次數。 |
last_logical_reads |
bigint |
上次執行存儲過程時所執行的邏輯讀取次數。 |
min_logical_reads |
bigint |
該存儲過程在單次執行期間所執行的最少邏輯讀取次數。 |
max_logical_reads |
bigint |
該存儲過程在單次執行期間所執行的最大邏輯讀取次數。 |
total_elapsed_time |
bigint |
完成此存儲過程的執行所用的總時間(微秒)。 |
last_elapsed_time |
bigint |
最近完成此存儲過程的執行所用的時間(微秒)。 |
min_elapsed_time |
bigint |
任意一次完成此存儲過程的執行所用的最短時間(微秒)。 |
max_elapsed_time |
bigint |
任意一次完成此存儲過程的執行所用的最長時間(微秒)。 |
SELECT TOP 10 a.object_id , a.database_id , DB_NAME(ISNULL(a.database_id,'')) 'DatabaseName', OBJECT_NAME(object_id, database_id) 'proc name' , a.cached_time , a.last_execution_time , a.total_elapsed_time , a.total_elapsed_time / a.execution_count AS [avg_elapsed_time] , a.execution_count , a.total_physical_reads / a.execution_count avg_physical_reads , a.total_logical_writes , a.total_logical_writes / a.execution_count avg_logical_reads , a.last_elapsed_time , a.total_elapsed_time / a.execution_count avg_elapsed_time , b.text , c.query_plan FROM sys.dm_exec_procedure_stats AS a CROSS APPLY sys.dm_exec_sql_text(a.sql_handle) b CROSS APPLY sys.dm_exec_query_plan(a.plan_handle) c ORDER BY [total_worker_time] DESC ; GO
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
