可以使用 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.