阅读量:1
在PL/SQL中,可以使用DBMS_UTILITY包中的TIMER和FORMAT_CALL_STACK函数来测量SQL语句的执行时间。
下面是一个示例代码:
DECLARE l_start_time NUMBER; l_end_time NUMBER; l_total_time NUMBER; l_execution_time VARCHAR2(100); BEGIN -- 记录开始时间 l_start_time := DBMS_UTILITY.GET_TIME; -- 执行你的SQL语句 -- ... -- 记录结束时间 l_end_time := DBMS_UTILITY.GET_TIME; -- 计算总的执行时间 l_total_time := (l_end_time - l_start_time) / 100; -- 格式化执行时间 l_execution_time := DBMS_UTILITY.FORMAT_CALL_STACK(l_total_time); -- 打印执行时间 DBMS_OUTPUT.PUT_LINE('执行时间:' || l_execution_time); END;
在上面的代码中,使用GET_TIME函数获取当前时间,然后在执行SQL语句前记录开始时间,执行完SQL语句后记录结束时间,然后计算总的执行时间,最后使用FORMAT_CALL_STACK函数格式化执行时间并打印出来。
请注意,这种方式只能用于在PL/SQL中执行的SQL语句,不能用于外部工具或应用程序中执行的SQL语句。