|
PLSQL - Tiempo de CPU y Tiempo transcurrido |
|
|
|
Desde Oracle 10g el paquete DBMS_UTILITY incorpora la función GET_CPU_TIME(), que permite calcular el tiempo de CPU consumido entre dos puntos de un bloque PL/SQL. Además, desde 9i, existe la función DBMS_UTILITY.GET_TIME() para simplemente calcular el tiempo transcurrido entre dos puntos de un bloque PL/SQL.
Estas dos funciones del paquete DBMS_UTILITY pueden resultar muy útiles para depurar código PL/SQL, obteniendo información en cuanto a tiempo de respuesta y tiempo de CPU.
Ejemplo:
set serveroutput on DECLARE i NUMBER; j NUMBER; k NUMBER; l NUMBER; m NUMBER; BEGIN i := dbms_utility.get_cpu_time; l := dbms_utility.get_time; SELECT COUNT(*) INTO j FROM all_tables t, all_indexes i WHERE t.table_name = i.table_name; k := dbms_utility.get_cpu_time; m := dbms_utility.get_time; dbms_output.put_line('CPU Time: '||to_char(k-i)); dbms_output.put_line('Time: '||to_char(m-l)); END; /
CPU Time: 392
Time: 543
PL/SQL procedure successfully completed
Nota: en ambos casos el tiempo esta en centésimas de segundo, por lo que en el ejemplo anterior el resultado sería 3,92 segundos de CPU y 5,43s de tiempo total en responder.
Referencias:
|
|
Última modificación ( 08.03.2012 )
|