我想衡量甲骨文的存储过程的执行时间。我已经学会了如何编写在开始和结束在临时记录表中的条目的技术,但我无法使用这种技术。
你可以参考我的开源/免费工具,使用它我能够做到这一点?
谢谢!
答案取决于您使用的环境。
如果你用sqlplus,可以按如下方式启用定时器:T
SQL> set timing on
然后,只需执行你的程序,如:
SQL> exec my_procedure;
当程序将完成,总结线将显示,如:
PL/SQL procedure successfully completed.
Elapsed: 00:00:03.05
从PL / SQL中,你可以使用dbms_utility.get_time
:
DECLARE
start_time pls_integer;
BEGIN
start_time := dbms_utility.get_time;
exec my_procedure;
dbms_output.put_line((dbms_utility.get_time - start_time)/100 || ' seconds');
END;
/
应该输出是这样的:
3 seconds
PL/SQL procedure successfully completed.
如果你想获得的细节,实际上可以帮助你诊断问题,我强烈建议DBMS_PROFILER。
它很容易使用和用于在包括最大执行次数,总时间,min和PL / SQL每行提供的统计信息。