Search code examples
sqlsql-server-2008sql-execution-plan

Resetting Execution Plans


I am optimizing a query and am worried that SQL Server is caching execution plans so want to wipe them.

How do I do this?


Solution

  • You should do this: DBCC FREEPROCCACHE;

    I also do this DBCC DROPCLEANBUFFERS;

    Use DBCC DROPCLEANBUFFERS to test queries with a cold buffer cache without shutting down and restarting the server.

    To drop clean buffers from the buffer pool, first use CHECKPOINT to produce a cold buffer cache. This forces all dirty pages for the current database to be written to disk and cleans the buffers. After you do this, you can issue DBCC DROPCLEANBUFFERS command to remove all buffers from the buffer pool.