SqlServer效能檢測之Sql語句排查

2021-10-08 04:00:38 字數 1263 閱讀 5299

很多時候,我們在用sql語句查詢資料時,難免會漏掉對sql語句效能的考慮,所以有時就會造成sqlserver服務占用過高的問題,為了大致排查是哪些sql語句造成的問題,我們可以通過如下sql查詢出最近所有耗時最大的sql語句,具體查詢sql語句如下所示:

select s2.dbid,

s1.sql_handle,

(select top 1

substring( s2.text,

statement_start_offset / 2 + 1,

((case

when statement_end_offset = -1 then

(len(convert(nvarchar(max), s2.text)) * 2)

else

statement_end_offset

end) - statement_start_offset

) / 2 + 1

)) as 執行sql,

last_worker_time '最後執行總耗時(毫秒)',

last_execution_time '最後執行時間',

total_worker_time '所有執行總耗時(毫秒)',

min_worker_time '執行最小耗時(毫秒)',

max_worker_time '執行最大耗時(毫秒)',

execution_count,

plan_generation_num,

total_physical_reads,

last_physical_reads,

min_physical_reads,

max_physical_reads,

total_logical_writes,

last_logical_writes,

min_logical_writes,

max_logical_writes

from sys.dm_exec_query_stats as s1

where s2.objectid is null

order by last_worker_time desc,

s1.sql_handle,

s1.statement_start_offset,

s1.statement_end_offset;

執行效果:

SqlServer效能檢測和優化工具使用詳細

原文 sqlserver效能檢測和優化工具使用詳細 如果你的資料庫應用系統中,存在有大量表,檢視,索引,觸發器,函式,儲存過程,sql語句等等,又效能低下,而苦逼的你又要對其優化,那麼你該怎麼辦?哥教你,首先你要知道問題出在 如果想知道問題出在 並且找到他,咱們可以借助本文中要講述的效能檢測工具 s...

SqlServer效能檢測和優化工具使用詳細

原文 sqlserver效能檢測和優化工具使用詳細 如果你的資料庫應用系統中,存在有大量表,檢視,索引,觸發器,函式,儲存過程,sql語句等等,又效能低下,而苦逼的你又要對其優化,那麼你該怎麼辦?哥教你,首先你要知道問題出在 如果想知道問題出在 並且找到他,咱們可以借助本文中要講述的效能檢測工具 s...

SqlServer效能檢測和優化工具使用詳細

原文 sqlserver效能檢測和優化工具使用詳細 如果你的資料庫應用系統中,存在有大量表,檢視,索引,觸發器,函式,儲存過程,sql語句等等,又效能低下,而苦逼的你又要對其優化,那麼你該怎麼辦?哥教你,首先你要知道問題出在 如果想知道問題出在 並且找到他,咱們可以借助本文中要講述的效能檢測工具 s...