11111
SELECT TOP 20
DB_NAME(st.dbid) AS DatabaseName,
OBJECT_NAME(st.objectid, st.dbid) AS ObjectName,
qs.execution_count AS ExecutionCount,
qs.total_worker_time/qs.execution_count AS AvgCPU_Time,
qs.total_elapsed_time/qs.execution_count AS AvgElapsed_Time,
qs.total_logical_reads/qs.execution_count AS AvgLogicalReads,
qs.total_logical_writes/qs.execution_count AS AvgLogicalWrites,
qs.total_physical_reads/qs.execution_count AS AvgPhysicalReads,
qs.max_elapsed_time AS MaxElapsed_Time,
SUBSTRING(st.text, (qs.statement_start_offset/2)+1,
((CASE qs.statement_end_offset
WHEN -1 THEN DATALENGTH(st.text)
ELSE qs.statement_end_offset
END - qs.statement_start_offset)/2) + 1) AS QueryText,
qp.query_plan AS QueryPlan
FROM sys.dm_exec_query_stats qs
CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) st
CROSS APPLY sys.dm_exec_query_plan(qs.plan_handle) qp
WHERE qs.execution_count > 0
ORDER BY qs.total_worker_time DESC; -- 按CPU时间排序