1

我正在参数化我的网络应用程序的临时 sql。因此,我预计查询计划缓存的大小会减小并具有更高的命中率。也许甚至其他重要的指标也会得到改进。

我可以使用 perfmon 来跟踪它吗?如果是这样,我应该使用什么计数器?如果不是 perfmon,我如何报告此更改的影响?

4

2 回答 2

1

SQL Server,计划缓存对象

Cache Hit Ratio缓存命中和查找之间的比率。
缓存对象计数缓存中的缓存对象数。
高速缓存页数高速缓存对象使用的 8 千字节 (KB) 页数。
正在使用 的缓存对象 正在使用的缓存对象的数量。

此外sys.dm_os_memory_clerkssys.dm_os_memory_cache_counters将提供有关内存分配(一般)和 SQL 缓存(一般)的信息。您将对计划高速缓存存储器职员的分配感兴趣。

最后是执行 DMV:sys.dm_exec_query_statssys.dm_exec_cached_plans

这些计数器和 DMV 应该涵盖您需要的内容,有关更多详细信息,请参阅执行计划缓存和重用

于 2010-05-11T21:48:00.090 回答
1

您可以使用 SQL Server Profiler。创建一个新的跟踪,并捕获 TSQL->Exec Prepared Sql 和 TSQL->Prepare Sql 事件。前者会在重用查询计划时告诉您,后者在重新生成计划时会告诉您。

您也可以在 SP 事件类别下对存储过程执行相同的操作。

于 2010-05-11T21:40:48.373 回答