程序所花费的时间

时间:2014-11-03 22:19:43

标签: sql plsql oracle11g plsqldeveloper

我试图找到程序完成所需的时间。我甚至需要以毫秒/纳秒来跟踪差异。我想介绍一些时间戳功能,如

 start_time;
 ....<transactions>
 end_time;

使用sysdate,我无法捕获所花费的时间。 任何帮助都会有所帮助。

1 个答案:

答案 0 :(得分:3)

您可以尝试DBMS_UTILITY.GET_TIME

  

此功能以100秒为单位确定当前时间。这个   子程序主要用于确定经过的时间。该   子程序被调用两次 - 在某个过程的开始和结束时    - 然后从第二个中减去第一个(较早的)数字   (稍后)编号以确定经过的时间。

<强>语法

DBMS_UTILITY.GET_TIME 
  RETURN NUMBER;

返回值

  

时间是从时间点开始的100秒的数量   调用子程序。

示例

Declare
  l_start number;
  l_end number;
Begin
  l_start := DBMS_UTILITY.GET_TIME ;
  -- transactions
  l_end := DBMS_UTILITY.GET_TIME ;
  dbms_output.put_line('elapsed: ' || (l_end - l_start) / 100 || 'secs');
END;