How to Clear down Query Execution Statistics in SQL Server 2005/2008

40,579
DBCC FREEPROCCACHE
DBCC DROPCLEANBUFFERS
Share:
40,579
Simon Mark Smith
Author by

Simon Mark Smith

Freelance developer living in Northern Ireland, UK.

Updated on November 21, 2020

Comments

  • Simon Mark Smith
    Simon Mark Smith over 3 years

    Based on getting Query Execution Statistics using this extremely useful piece of SQL obtained from this post Most Executed Stored Procedure - Stack Overflow:

    SELECT TOP 100
       qt.TEXT AS 'SP Name',
       SUBSTRING(qt.text, qs.statement_start_offset/2, CASE WHEN (qs.statement_end_offset = -1) THEN LEN(qt.text) ELSE (qs.statement_end_offset - qs.statement_start_offset)/2 END) AS actual_query,
       qs.execution_count AS 'Execution Count',
       qs.total_worker_time/qs.execution_count AS 'AvgWorkerTime',
       qs.total_worker_time AS 'TotalWorkerTime',
       qs.total_physical_reads AS 'PhysicalReads',
       qs.creation_time 'CreationTime',
       qs.execution_count/DATEDIFF(Second, qs.creation_time, GETDATE()) AS 'Calls/Second'
    FROM sys.dm_exec_query_stats AS qs
    CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) AS qt
    WHERE qt.dbid = (SELECT dbid
                    FROM sys.sysdatabases
                   WHERE name = 'BSP')
    ORDER BY qs.total_worker_time/qs.execution_count DESC
    

    How would I completely clear out these execution statistics and start from scratch?

    This would be particularly useful as development bugs and testing have caused routines to be called an usually large number of times thus invaliding the true usage levels.