监视 SQL 语句高速缓存的命中数

要监视 SQL 语句高速缓存中的命中数,请运行 onstat -g ssc

onstat -g ssc 选项显示 SQL 语句高速缓存中完全高速缓存的条目。图 1 显示 onstat -g ssc 的样本输出。

图: onstat -g ssc 输出

onstat -g ssc

Statement Cache Summary:
#lrus   currsize  maxsize   Poolsize  #hits   nolimit
4       49456     524288    57344     0       1

Statement Cache Entries:

lru hash ref_cnt hits flag heap_ptr      database           user
-----------------------------------------------------------------------------
  0  153       0    0   -F  a7e4690      vjp_stores         virginia
  SELECT * FROM customer, orders
       WHERE customer.customer_num = orders.customer_num
    AND order_date > "01/01/07"

  1  259       0    0    -F  aa58c20     vjp_stores         virginia
  SELECT * FROM customer, orders
       WHERE customer.customer_num = orders.customer_num
    AND order_date > "01/01/2007"

  2  232       0    1    DF  aa3d020     vjp_stores         virginia
  SELECT C.customer_num, O.order_num
    FROM customer C, orders O, items I
    WHERE C.customer_num = O.customer_num
    AND O.order_num = I.order_num

  3  232       1    1    -F  aa8b020     vjp_stores         virginia
  SELECT C.customer_num, O.order_num
    FROM customer C, orders O, items I
    WHERE C.customer_num = O.customer_num
    AND O.order_num = I.order_num



    Total number of entries: 4.
要监视数据库服务器在高速缓存内读取 SQL 语句的次数,请查看以下输出列:
  • onstat -g ssc 输出的 Statement Cache Summary 部分中,#hits 列是 SQL_STMT_HITS 配置参数的值。

    图 1 中,输出的 Statement Cache Summary 部分中的 #hits 列具有 0 值,这是 STMT_CACHE_HITS 配置参数的缺省值。

    要点: 数据库服务器仅在语句完全相同时才使用 SQL 语句高速缓存中的条目。图 1 中的前两个条目不相同,因为各自在 order_date 过滤器中包含不同的文字值。
  • onstat -g ssc 输出的 Statement Cache Entries 部分中,hits 列显示数据库服务器执行高速缓存中的每个单独的 SQL 语句的次数。 换言之,列显示数据库服务器使用高速缓存中的内存结构而不是分析和优化语句以再次生成语句的次数。

    数据库服务器第一次将语句插入到高速缓存中时,hits 值为 0

    • 图 1 中的前两个 SQL 语句 hits 列值为 0,这表示每个语句都已插入高速缓存中但尚未从高速缓存执行过。
    • 图 1 中的最后两个 SQL 语句 hits 列值为 1,这表示两个语句都已从高速缓存执行过一次。

    各个条目的 hits 值指示内存结构的共享程度。hits 列中较高的值表示 SQL 语句高速缓存对于改善性能和内存使用率的帮助较大。

有关 onstat -g ssc 所显示的输出字段的完整描述,请参阅 onstat -g ssc 输出中的 SQL 语句高速缓存信息