时间可以精确到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');
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');
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');
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>