时间可以精确到1/1000000秒,我一直使用下面的方法:create or replace package timing as
  procedure starttiming;
  procedure stoptiming;
  procedure printelapsed(p_message in varchar2);
end;
/
create or replace package body timing as
  v_starttime number;
  v_endtime   number;
 
  procedure starttiming is
  begin
    v_starttime:=DBMS_UTILITY.GET_TIME;  
  end;  
 
  procedure stoptiming is
  begin
    v_endtime:=DBMS_UTILITY.GET_TIME;
  end;
 
  procedure printelapsed(p_message in varchar2) is
    v_elapsed number:=(v_endtime-v_starttime)/100;
  begin
    dbms_output.put_line('Elapsed Time for '||p_message||' is '||
      v_elapsed||' seconds.');
  end;    
end;  

example:
 
    timing.starttiming;
 
    sql....
 
   timing.stoptiming;  
   timing.printelapsed('test1');    

解决方案 »

  1.   

    I'm sorry.这个才能精确到1/100000秒
    CREATE OR REPLACE PACKAGE timing AS
       PROCEDURE starttiming;
       PROCEDURE stoptiming;
       PROCEDURE printelapsed(p_message IN VARCHAR2);
    END;
    /CREATE OR REPLACE PACKAGE BODY timing AS
       v_starttime NUMBER;
       v_endtime   NUMBER;   PROCEDURE starttiming IS
       BEGIN
          SELECT to_number(to_char(systimestamp, 'ssxff'))
            INTO v_starttime
            FROM dual;
       END;   PROCEDURE stoptiming IS
       BEGIN
          SELECT to_number(to_char(systimestamp, 'ssxff'))
            INTO v_endtime
            FROM dual;
       END;   PROCEDURE printelapsed(p_message IN VARCHAR2) IS
          v_elapsed NUMBER := v_endtime - v_starttime;
       BEGIN
          dbms_output.put_line('Elapsed Time for ' || p_message || ' is ' ||
                               v_elapsed || ' seconds.');
       END;
    END;
    /
    example:
     
        timing.starttiming;
     
        sql....
     
       timing.stoptiming;
       timing.printelapsed('test1');
      

  2.   

    当然,如果你想最简单的办法就是:启动sqlplusSQL> set time on;然后执行你的SQL语句就可以了.
      

  3.   

    set time on只是显示时间,set timing on才是计时。
      

  4.   

    SQL> set timing on
    SQL> select * from eric_tmp
      2  /       ID NAME
    --------- --------------------
            1 AAA
            2 BBB
            1 ABC
            3 CCC
            2 DDD
            4
    7 rows selected. real: 47
    SQL>
      

  5.   

    或者用toad里面的query view,可以看到sql运行时间。