一般的な質問:
特定のクエリを実行するときにキャッシュを使用しないように SQL Server に渡すことができるクエリ/コマンドはありますか?
構成設定ではなく、設定できるクエリ/コマンドを探しています。これを行う必要はありませんか?
一般的な質問:
特定のクエリを実行するときにキャッシュを使用しないように SQL Server に渡すことができるクエリ/コマンドはありますか?
構成設定ではなく、設定できるクエリ/コマンドを探しています。これを行う必要はありませんか?
DBCC FREEPROCCACHE
キャッシュされたプロシージャの実行計画をすべて削除します。これにより、後続のすべてのプロシージャ コールが再コンパイルされます。
プロシージャ定義に追加WITH RECOMPILE
すると、呼び出されるたびにプロシージャが再コンパイルされます。
(SQL 2005 以前では) 単一のプロシージャ実行プランのプロシージャ キャッシュをクリアする方法があるとは思いませんし、2008 年にもそれができるとは思えません。
クエリでデータ キャッシュを使用しないようにする場合、最適な方法は、クエリを実行する前にキャッシュをクリアすることです。
CHECKPOINT
DBCC DROPCLEANBUFFERS
再コンパイルを強制しても、クエリによるデータ キャッシュの使用には影響しないことに注意してください。
個々のクエリをマークしてキャッシュを回避できない理由の 1 つは、キャッシュの使用がクエリの実行に不可欠な部分であることです。データが既にキャッシュにある場合、2 回目の読み取りが行われた場合、SQL Server はそのデータをどう処理するでしょうか? 同期の問題などは言うまでもありません。
使用する
WITH RECOMPILE