SQL Server - Plan Cache 对象

适用范围:SQL Server

计划缓存对象提供了若干计数器来监视 SQL Server 如何使用内存来存储对象(例如存储过程、临时和准备的 Transact-SQL 语句以及触发器)。 可同时监视 Plan Cache 对象的多个实例,每个实例代表一个要监视的不同类型的计划。

下表介绍了 SQLServer:Plan Cache计数器。

SQL Server Plan Cache 计数器 说明
Cache Hit Ratio 高速缓存命中次数和查找次数的比率。
Cache Hit Ratio Base 仅限内部使用。
Cache Object Counts 高速缓存中高速缓存的对象数。
Cache Objects in use 正在使用的缓存对象数。
Cache Pages 高速缓存对象所使用的 8 (KB) 页的数目。

对象中的每个计数器均包含以下实例:

Plan Cache 实例 说明
_Total 所有类型的缓存实例的信息。
SQL 计划 由临时 Transact-SQL 查询(包括自动参数化查询)生成的查询计划,或使用 sp_preparesp_cursorprepare 准备的 Transact-SQL 语句生成的查询计划。 SQL Server 将临时 Transact-SQL 语句的计划存入缓存,以便将来需要执行相同的 Transact-SQL 语句时再次使用。 用户参数化的查询(即使未显式准备)也作为准备好的 SQL 计划监视。
对象计划 通过创建存储过程、函数或触发器而生成的查询计划。
绑定树 视图、规则、计算列和检查约束的规范化树。
扩展存储过程 扩展存储过程的目录信息。
临时表和表变量 与临时表和表变量相关的缓存信息。

示例

使用 sys.dm_os_performance_counters 动态管理视图上的此 T-SQL 查询,开始浏览此对象中的查询性能计数器:

SELECT * FROM sys.dm_os_performance_counters
WHERE object_name LIKE '%Plan Cache%';