关于执行一段代码的计时问题
比如
开始一个计时
执行一个function
结束计时
输出时间
就想得到执行function所花费的时间
------解决方案--------------------create or replace function f_time return number is
stime date;
etime date;
m number;
n number;
begin
stime := sysdate;
for i in 1 .. 9999999 loop
n := n + i;
end loop;
etime := sysdate;
m := (etime - stime) * 24 * 60 * 60;
dbms_output.put_line('共花费'
------解决方案-------------------- m
------解决方案-------------------- '秒');
return m;
end;
------解决方案--------------------你的要求应该是这个:
create or replace function f_time return number is
n number := 0;
begin
for i in 1 .. 9999999 loop
n := n + i;
end loop;
return n;
end;
/
declare
stime date;
etime date;
m number;
n number;
begin
stime := sysdate;
n := f_time;
etime := sysdate;
m := (etime - stime) * 24 * 60 * 60;
dbms_output.put_line('共花费'
------解决方案-------------------- m
------解决方案-------------------- '秒');
end;
------解决方案--------------------和你说个思路,定义两个变量,在函数的执行前后分别将系统时间赋值给变量。然后再相减。把得到的值作为返回值进行输出就行了。
------解决方案--------------------
sqlplus 下
set timing on
select fun() from dual
执行时间 :xxxxxx