例: CPU 消費量が最も多いルーチンの識別

ルーチン・モニターを使用すると、最もコストの高いルーチンを識別できます。

シナリオ

この例では、データベース管理者 (DBA) が最も多くの CPU 合計を消費するデータベース・ルーチンを識別しようとしています。 DBA は次の照会を発行し、データベースが活動化されて以降に実行されたすべてのルーチンを表示します。
SELECT ROUTINESCHEMA, ROUTINEMODULENAME, ROUTINENAME,
   SPECIFICNAME, SUM(TOTAL_CPU_TIME) AS TOTAL_CPU
FROM TABLE(MON_GET_ROUTINE(NULL,NULL,NULL,NULL,-2)) AS T
GROUP BY ROUTINESCHEMA, ROUTINEMODULENAME, ROUTINENAME, SPECIFICNAME
ORDER BY TOTAL_CPU DESC
結果は、ルーチンの CPU 消費量合計の順になります。
ROUTINESCHEMA     ROUTINEMODULENAME  ROUTINENAME                 SPECIFICNAME        TOTAL_CPU
----------------- ------------------ --------------------------- ------------------- --------------------
SYSIBMINTERNAL    -                  COMPILED_ANON_BLOCK_INVOKE  SQL120801135416210               8942414
DRICARD           -                  PROC1                       PROC1                              23444
SYSIBMSUBROUTINE  -                  PROC1_66613_101877843       -                                   4213
DRICARD           -                  MYPROC                      SQL120801135351900                  1838
DRICARD           -                  TRIG1                       SQL120801135519200                   467

  5 record(s) selected.

これで DBA は、最も多くの CPU 合計を消費するルーチンのチューニング作業に集中できます。