onstat -g ssc 输出中的 SQL 语句高速缓存信息

onstat -g ssc 命令显示 SQL 语句高速缓存的摘要信息。

onstat -g ssc 命令显示 SQL 语句高速缓存的以下信息。

表 1. onstat -g ssc 输出中的 SQL 语句高速缓存信息
描述
#lrus LRU 队列的数目。使用多个 LRU 队列便于实现同时查找和插入高速缓存条目。
currsize 当前分配给 SQL 语句高速缓存中的条目的字节数
maxsize STMT_CACHE_SIZE 配置参数中指定的字节数
poolsize SQL 语句高速缓存中所有池的累积字节数。使用 onstat -g ssc pool 选项可监视单个池使用情况。
#hits STMT_CACHE_HITS 配置参数的设置,它指定在查询插入高速缓存中之前执行的次数
nolimit STMT_CACHE_NOLIMIT 配置参数的设置

onstat -g ssc 命令为高速缓存中每个完全高速缓存条目列出以下信息。onstat -g ssc all 选项为完全高速缓存的条目和仅含键的条目列出以下信息。

描述
lru LRU 标识符
散列 hash-bucket 标识
ref_cnt 当前使用此语句的会话数
命中数 用户从高速缓存读取查询的次数(不包括该语句第一次进入高速缓存时)
flags 显示标志代码。

位置 1 的标志代码为:

D
指示语句已经被删除

一个语句的某一相关性更改时,会从高速缓存中将该语句删除(不再使用)。例如,运行表的 UPDATE STATISTICS 时,优化器统计信息可能会发生更改,从而导致高速缓存中 SQL 语句的查询计划过时。在此情况下,数据库服务器在下次尝试使用该语句时将其标记为已删除。

-
指示语句未被删除

位置 2 的标志代码为:

F
指示查询高速缓存条目已完全高速缓存并包含该查询的内存结构
-
指示未将语句完全高速缓存

当执行语句的次数少于 STMT_CACHE_HITS 配置参数的值时,该语句不能完全高速缓存。在第二个位置中带有此值的条目出现在 onstat -g ssc all 输出中,而不是 onstat -g ssc 输出中。

heap_ptr 指向该语句的相关堆的指针
数据库 对其执行 SQL 语句的数据库
用户 执行 SQL 语句的用户
语句 测试是否匹配时使用的语句文本