SQL Server最耗時的語句統計

SELECT (total_elapsed_time / execution_count) / 1000 N'平均時間ms',
       total_elapsed_time / 1000     N'總花費時間ms',
       total_worker_time / 1000      N'所用的CPU總時間ms',
       total_physical_reads          N'物理讀取總次數',
       total_logical_reads / execution_count N'每次邏輯讀次數',
       total_logical_reads           N'邏輯讀取總次數',
       total_logical_writes          N'邏輯寫入總次數',
       execution_count               N'執行次數',
       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'執行語句',
       creation_time                 N'語句編譯時間',
       last_execution_time           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 last_execution_time > '2020-05-18 00:00'
ORDER BY 
       total_elapsed_time / execution_count DESC;

 
 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章