SQLプロファイラーの「SP:CacheHit」イベントについて理解を深めたいと思います。
ストアドプロシージャの実行に対して「SP:CacheHit」イベントが表示されるたびに、データベースにヒットが発生していないと想定しても安全ですか。私が尋ねる理由は、現在、テーブル内の4000行からランダムなレコードを1つ選択するクエリ(Entity Framework / LINQを使用)があるためです。
SQL Serverは実際にテーブルから4000レコードのデータをキャッシュしたので、後続のクエリはデータベースにヒットしませんか?
一連のイベントは次のとおりです。
- RPC:開始
- SP:CacheHit
- SP:StmtStarting
- SP:StmtCompleted->ここに読み取り数と行数が表示されます
- RPC:Completed->ここに読み取り数と行数が表示されます
私の理解をいくらか明確にするこの有用な記事を見つけましたが、私の仲間の専門家の1人からの確認は素晴らしいでしょう。