06-SQLServer查看執行超過30秒的慢SQL


1、腳本

SET NOCOUNT ON
SELECT 
total_elapsed_time / 1000 /1000 N'總執行時間(s)' ,
execution_count N'執行次數' ,
( total_elapsed_time / execution_count ) / 1000 /1000 N'平均執行時間(s)' , 
SUBSTRING(st.text, ( qs.statement_start_offset / 2 ) + 1,
( ( CASE statement_end_offset
WHEN -1 THEN DATALENGTH(st.text)
ELSE qs.statement_end_offset
END - qs.statement_start_offset ) / 2 ) + 1) N'執行語句' 
FROM sys.dm_exec_query_stats AS qs
CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) st
WHERE SUBSTRING(st.text, ( qs.statement_start_offset / 2 ) + 1,
( ( CASE statement_end_offset
WHEN -1 THEN DATALENGTH(st.text)
ELSE qs.statement_end_offset
END - qs.statement_start_offset ) / 2 ) + 1) NOT LIKE '%fetch%'
and (( total_elapsed_time / execution_count ) / 1000) >30000
ORDER BY total_elapsed_time / execution_count DESC;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM