例: 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 合計を消費するルーチンのチューニング作業に集中できます。