Exemple : Identification des routines les plus coûteuses en fonction de la consommation de l'unité centrale
Vous pouvez utiliser le contrôle de routine pour identifier les routines les plus coûteuses.
Scénario
Dans cet exemple, un administrateur de base de données (DBA) souhaite identifier les routines de base de données qui consomment le plus de CPU. L'administrateur de bases de données lance la requête suivante qui affiche toutes les routines exécutées depuis l'activation de la base de données :
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 DESCLe résultat est classé en fonction de la consommation totale de l'unité centrale de la routine.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.L'administrateur de bases de données peut maintenant concentrer ses efforts de réglage sur les routines qui consomment le plus de CPU.