SELECT SUBSTRING(qt.text, ( qs.statement_start_offset / 2 ) + 1,
( ( CASE qs.statement_end_offset
WHEN -1 THEN DATALENGTH(qt.text)
ELSE qs.statement_end_offset
END - qs.statement_start_offset ) / 2 ) + 1) ,
qs.execution_count ,
qs.total_worker_time as total_worker_time_in_s,
qs.last_worker_time as last_worker_time_in_ms,
(qs.total_worker_time /qs.execution_count)/1000 as avg_execution_time_ms,
qs.last_execution_time
FROM sys.dm_exec_query_stats qs
CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) qt
ORDER BY qs.last_execution_time DESC
--这个里面的total_worker_time在不考虑网络传输的情况下,可以看为是响应时间。
--测试结果:total_worker_time=编译时间+等待时间+执行时间+返回时间