我想澄清一下我对 SQL Profiler 中“SP:CacheHit”事件的理解。
假设每当针对存储过程的执行显示“SP:CacheHit”事件时不会对数据库进行任何命中,这是否安全?我问的原因是因为我目前有一个查询(使用实体框架/LINQ),它从表的 4000 行中选择一个随机记录。
SQL Server 是否真的从我的表中缓存了 4000 条数据记录,因此任何后续查询都不会命中数据库?
系列活动如下:
- RPC:开始
- SP:缓存命中
- SP:StmtStarting
- SP:StmtCompleted --> 这是我看到读取次数和行数的地方
- RPC:Completed --> 这是我看到读取次数和行数的地方
我发现这篇有用的文章在一定程度上澄清了我的理解,但我的一位专家的确认会很棒。