2011-04-19 105 views
4

我想分析幾個查詢,但正如你所知道的,當你第二次運行一個查詢時,它回到0ms。我正在使用SQL - 清除執行緩存

DBCC FREEPROCCACHE 

但這似乎並沒有訣竅。我還能運行什麼來清除執行/結果緩存的任何痕跡?

回答

4
CHECKPOINT; 
DBCC dropcleanbuffers; 

這不應該在生產服務器上運行。 CHECKPOINT是一個數據庫作用域命令,它會將髒緩衝區寫入光盤,以便它們將受到下一個命令的影響,但DBCC dropcleanbuffers是全局的,並且以此方式從緩衝區緩存中刪除的所有數據頁需要在接下來使用時從光盤讀入時間。

+0

完美,這就是我所需要的。 – 2011-04-19 22:45:47

3

您還需要使用DBCC DROPCLEANBUFFERS。這將使用冷緩衝區高速緩存測試查詢。

DBCC FREEPROCCACHE 
DBCC DROPCLEANBUFFERS