クエリ キャッシュの改善はどのように追跡できますか?
-
26-09-2019 - |
質問
Web アプリのアドホック SQL をパラメータ化しています。その結果、クエリ プラン キャッシュのサイズが削減され、ヒット率が高くなることが期待されます。おそらく、他の重要な指標も改善されるでしょう。
perfmon を使用してこれを追跡できますか?その場合、どのカウンターを使用すればよいですか?perfmon ではない場合、この変更の影響についてどのように報告できますか?
解決
キャッシュヒット率 キャッシュ ヒットとルックアップの比率。
キャッシュオブジェクト数 キャッシュ内のキャッシュ オブジェクトの数。
キャッシュページ キャッシュ オブジェクトによって使用される 8 キロバイト (KB) ページの数。
使用中のキャッシュオブジェクト 使用中のキャッシュ オブジェクトの数。
また sys.dm_os_memory_clarks そして sys.dm_os_memory_cache_counters メモリ割り当て (一般) と SQL キャッシュ (一般) に関する情報が得られます。プラン キャッシュ メモリ クラークへの割り当てに興味があるでしょう。
そして最後に実行 DMV があります。 sys.dm_exec_query_stats そして sys.dm_exec_cached_plans.
これらのカウンターと DMV は必要なものをカバーするはずです。詳細については、を参照してください。 実行計画のキャッシュと再利用.
他のヒント
あなたは、SQL Serverプロファイラを使用することができます。新しいトレースを作成し、TSQL-をキャプチャ> Execは、SQLとTSQL-は、SQL>イベントを準備して調製しました。それは計画を再生成されたとき、それは、後者のクエリプランを再利用していますとき、前者はあなたを教えてくれます。
あなたはイベントのSPのカテゴリの下に、同様にストアドプロシージャのために同じことを行うことができます。