很多時候,我們在用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...