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_prepare 或 sp_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%';