database ID
name
query text
plan
execution count, total elapsed time, average elapsed time, CPU time, physical reads, logical reads, and logical writes
dbcc freeproccache
plan handles
select top 100 /* Database */ deco.dbid, d.name, /* SQL */ de.sql_handle, substring( deco.text, (de.statement_start_offset/2)+1, (( case de.statement_end_offset when -1 then datalength(deco.text) else de.statement_end_offset end - de.statement_start_offset )/2) + 1 ) as query_text, /* Plan */ de.plan_handle, deplan.query_plan, /* Execution Details */ de.execution_count, de.creation_time, de.last_execution_time, /* Execution Times */ de.total_elapsed_time as total_elapsed_time_us, de.total_elapsed_time / 1000 as total_elapsed_time_ms, de.total_elapsed_time / 1000000 as total_elapsed_time_sec, de.total_elapsed_time / 1000000 / 60 as total_elapsed_time_min, de.total_elapsed_time / de.execution_count as average_elapsed_time_us, de.total_elapsed_time / de.execution_count / 1000 as average_elapsed_time_ms, de.total_elapsed_time / de.execution_count / 1000000 as average_elapsed_time_sec, de.total_elapsed_time / de.execution_count / 1000000 / 60 as average_elapsed_time_min, de.last_elapsed_time as last_elapsed_time_us, de.last_elapsed_time / 1000 as last_elapsed_time_ms, de.last_elapsed_time / 1000000 as last_elapsed_time_sec, de.last_elapsed_time / 1000000 / 60 as last_elapsed_time_min, de.min_elapsed_time as min_elapsed_time_us, de.min_elapsed_time / 1000 as min_elapsed_time_ms, de.min_elapsed_time / 1000000 as min_elapsed_time_sec, de.min_elapsed_time / 1000000 / 60 as min_elapsed_time_min, de.max_elapsed_time as max_elapsed_time_us, de.max_elapsed_time / 1000 as max_elapsed_time_ms, de.max_elapsed_time / 1000000 as max_elapsed_time_sec, de.max_elapsed_time / 1000000 / 60 as max_elapsed_time_min, /* Rows */ de.total_rows, de.total_rows / de.execution_count as average_rows, de.last_rows, de.min_rows, de.max_rows, /* CPU Time */ de.total_worker_time, de.total_worker_time / de.execution_count as average_worker_time, de.last_worker_time, de.min_worker_time, de.max_worker_time, /* Physical Reads */ de.total_physical_reads, de.total_physical_reads / de.execution_count as average_physical_reads, de.last_physical_reads, de.min_physical_reads, de.max_physical_reads, /* Logical Reads */ de.total_logical_reads, de.total_logical_reads / de.execution_count as average_logical_reads, de.last_logical_reads, de.min_logical_reads, de.max_logical_reads, /* Logical Writes */ de.total_logical_writes, de.total_logical_writes / de.execution_count as average_logical_writes, de.last_logical_writes, de.min_logical_writes, de.max_logical_writes, /* Cache Removal */ case when de.sql_handle is not null then 'dbcc freeproccache(' + convert(varchar(128), de.sql_handle, 1) + ');' else 'N/A' end as remove_sql_handle_from_cache, case when de.plan_handle is not null then 'dbcc freeproccache(' + convert(varchar(128), de.plan_handle, 1) + ');' else 'N/A' end as remove_plan_handle_from_cache from sys.dm_exec_query_stats de cross apply sys.dm_exec_sql_text(de.plan_handle) as deco cross apply sys.dm_exec_query_plan(de.plan_handle) as deplan inner join sys.databases d on deco.dbid = d.database_id where d.name = 'dbdocs' -- Your database Name order by /* By Total Elapsed Time */ /* total_elapsed_time_us desc; */ /* By Average Elapsed Time */ average_elapsed_time_us desc; /* By Max Elapsed Time */ /* max_elapsed_time_us desc; */ /* By CPU Time */ /* de.total_worker_time desc; */ /* By Physical Reads */ /* de.total_physical_reads desc; */