1. ホーム
  2. sql-server

[解決済み】SQL Serverのクエリキャッシュをクリアするにはどうしたらいいですか?

2022-04-07 15:17:19

質問

SQL Server 2005に対して簡単なクエリを実行しました。

SELECT * 
FROM Table 
WHERE Col = 'someval'

最初にクエリを実行すると、次のようなことができます。 > 15 secs . それ以降の実行は < 1 sec .

SQL Server 2005 でキャッシュされた結果を使用しないようにするにはどうすればよいですか?私は、以下を実行してみました。

DBCC DROPCLEANBUFFERS
DBCC FREEPROCCACHE

しかし、これはクエリーの速度に影響を与えないようです(まだ < 1 sec ).

解決方法は?

ここに良い説明があります。

http://www.mssqltips.com/tip.asp?tip=1360

CHECKPOINT; 
GO 
DBCC DROPCLEANBUFFERS; 
GO

リンク先の記事より

すべてのパフォーマンス・テストをSQL Serverで実施する場合、CHECKPOINTを発行してからDBCC DROPCLEANBUFFERSコマンドを発行するのが最適な方法でしょう。 CHECKPOINTプロセスはSQL Serverの自動的な内部システムプロセスであり、定期的に発生しますが、このコマンドを発行して現在のデータベースのすべてのダーティページをディスクに書き込み、バッファをクリーンアップすることが重要です。 その後、DBCC DROPCLEANBUFFERSコマンドを実行し、バッファプールからすべてのバッファを削除することができます。