关于SQL事件探查器中SP:CacheHit事件的说明
我想澄清一下我对SQL事件探查器中“SP:CacheHit”事件的理解 是否可以安全地假设,每当针对存储过程的执行显示“SP:CacheHit”事件时,不会对数据库进行任何命中?我问这个问题的原因是因为我目前有一个查询(使用Entity Framework/LINQ),它从表中的4000行中选择一条随机记录 SQL Server是否真的缓存了我表中的4000条数据记录,因此任何后续查询都不会命中数据库 系列活动如下:关于SQL事件探查器中SP:CacheHit事件的说明,sql,sql-server-2008,caching,stored-procedures,entity-framework-4.1,Sql,Sql Server 2008,Caching,Stored Procedures,Entity Framework 4.1,我想澄清一下我对SQL事件探查器中“SP:CacheHit”事件的理解 是否可以安全地假设,每当针对存储过程的执行显示“SP:CacheHit”事件时,不会对数据库进行任何命中?我问这个问题的原因是因为我目前有一个查询(使用Entity Framework/LINQ),它从表中的4000行中选择一条随机记录 SQL Server是否真的缓存了我表中的4000条数据记录,因此任何后续查询都不会命中数据库 系列活动如下: RPC:启动 SP:CacheHit SP:StmtStarting SP:S
我发现这很有用,这在某种程度上澄清了我的理解,但我的一位同行专家的确认将非常有用。这只是意味着SP本身在执行计划缓存中被找到。这意味着不需要重新编译SP
在您的示例中,从第3行开始,显示正在查询数据库本身以完成查询。当找不到计划时,您将看到
SP:Recompile
+1.