代码之家  ›  专栏  ›  技术社区  ›  Bill Paetzke

如何跟踪查询缓存的改进?

  •  1
  • Bill Paetzke  · 技术社区  · 14 年前

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

    我能用perfmon追踪这个吗?如果是,我应该使用什么计数器?如果不是perfmon,我如何报告此更改的影响?

    2 回复  |  直到 14 年前
        1
  •  1
  •   Remus Rusanu    14 年前

    SQL Server, Plan Cache Object

    缓存命中率
    缓存对象计数 缓存中的缓存对象数。
    缓存对象使用的8千字节(KB)页数。
    正在使用的缓存对象 正在使用的缓存对象数。

    阿尔索 sys.dm_os_memory_clerks sys.dm_os_memory_cache_counters

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

    这些计数器和DMV应该满足您的需要,有关更多详细信息,请参阅 Execution Plan Caching and Reuse

        2
  •  1
  •   Paul Kearney - pk    14 年前

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

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