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 DESC
Le 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.