onstat -g ssc 命令:打印出现的 SQL 语句

可以使用 onstat -g ssc 命令监视数据库服务器读取高速缓存中的 SQL 语句的次数。

缺省情况下,只有 DBSA 可以查看 onstat -g ssc syssqltrace 信息。然而当 UNSECURE_ONSTAT 配置参数设置为 1 时,所有的用户都可以查看该信息。

语法;

all 选项报告 key-only 高速缓存的条目和完全高速缓存的语句 。如果 hits 列中的值比 STMT_CACHE_HITS 值小,该条目是 key-only 高速缓存条目。有关更多信息,请参阅 GBase 8s 性能指南 中的内存利用率。

pool 选项报告该 SQL 语句高速缓存的所有内存池的用法。该输出显示内存池的名称、类型、地址和总大小的信息。有关更多信息,请参阅 GBase 8s 性能指南 中的提高查询性能。

示例输出

图: onstat -g ssc 命令输出

        Statement Cache Summary:
        #lrus   currsize  maxsize   Poolsize  #hits   nolimit
        4       117640    524288    139264    0       1       
        Statement Cache Entries: 
        lru hash ref_cnt hits flag heap_ptr     database           user
        ----------------------------------------------------------------
        0  262       0    7   -F  aad8038      sscsi007           admin
        INSERT INTO ssc1 ( t1_char , t1_short , t1_key , t1_float , t1_smallfloat
        , t1_decimal , t1_serial ) VALUES ( ? , ? , ? , ? , ? , ? , ? )
        0  127       0    9   -F  b321438      sscsi007           admin
        INSERT INTO ssc2 ( t2_char , t2_key , t2_short ) VALUES ( ? , ? , ? )
        1  134       0   15   -F  aae0c38      sscsi007           admin
        SELECT t1_char , t1_short , t1_key , t1_float , t1_smallfloat ,
        t1_decimal , t1_serial FROM ssc1 WHERE t1_key = ?
        1  143       0    3   -F  b322c38      sscsi007           admin
        INSERT INTO ssc1 ( t1_char , t1_key , t1_short ) SELECT t2_char , t2_key
        + ? , t2_short FROM ssc2
        2   93       0    7   -F  aae9838      sscsi007           admin
        DELETE FROM ssc1 WHERE t1_key = ?
        2  276       0    7   -F  aaefc38      sscsi007           admin
        SELECT count ( * ) FROM ssc1
        2  240       1    7   -F  b332838      sscsi007           admin
        SELECT COUNT ( * ) FROM ssc1 WHERE t1_char = ? AND t1_key = ? AND
        t1_short = ?
        3   31       0    7   -F  aaec038      sscsi007           admin
        SELECT count ( * ) FROM ssc1 WHERE t1_key = ?
        3   45       0    1   -F  b31e438      sscsi007           admin
        DELETE FROM ssc1
        3  116       0    0   -F  b362038      sscsi007           admin
        SELECT COUNT ( * ) FROM ssc1
        Total number of entries: 10.

输出描述 - Statement Cache Summary 部分

#lrus
最近最少使用的队列(LRUS)的次数
currsize
当前高速缓存的大小
maxsize
总高速缓存内存量限制
Poolsize
总的池大小
#hits
在插入前的命中的数量。这个数量等于 STMT_CACHE_HITS 配置参数的值r
nolimit
STMT_CACHE_NOLIMIT 配置参数的值

输出描述 - Statement Cache Entries 部分

Statement Cache Entries 部分显示已全部插入高速缓存的条目。
lru
高速缓存条目所属的 lru 队列的索引
hash
高速缓存条目的哈希值
ref_count
引用语句的线程的数量
hits
语句与高速缓存中的语句匹配的次数。匹配可用于 key-only 或完全高速缓存的条目
flag
高速缓存条目标志;-F 说明语句是完全高速缓存的;-D 说明语句已删除
heap_ptr
高速缓存条目的内存堆的地址