SELECT top 20SUBSTRING(t.text, ( s.statement_start_offset / 2 ) + 1,( ( CASE statement_end_offsetWHEN -1 THEN DATALENGTH(t.text)ELSE s.statement_end_offsetEND - s.statement_start_offset ) / 2 ) + 1)AS statement_text,text,objtype,cacheobjtype,usecounts,last_execution_time,total_worker_time,total_worker_time / execution_count AS [Avg CPU Time],execution_count ,qp.query_planFROM sys.dm_exec_query_stats AS sinner join sys.dm_exec_cached_plans cpon s.plan_handle = cp.plan_handleCROSS APPLY sys.dm_exec_sql_text(s.sql_handle) AS tCROSS APPLY sys.dm_exec_query_plan(s.plan_handle) qporder by last_execution_time desc