Resetting Execution Plans

2019-08-02 09:01发布

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?

2条回答
Summer. ? 凉城
2楼-- · 2019-08-02 09:05

You'll want to use DBCC FREEPROCCACHE

Removes all elements from the plan cache, removes a specific plan from the plan cache by specifying a plan handle or SQL handle, or removes all cache entries associated with a specified resource pool.

查看更多
做个烂人
3楼-- · 2019-08-02 09:08

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.

查看更多
登录 后发表回答