Oracle中如何获得语句执行时间? 如题,能否直接得到执行时间?最好是有语句可以得到.谢谢大家! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 sqlplus里set timing on然后再执行语句就可以了。plsql developer的comman窗口同上。plsql developer的sql 窗口下面状态栏会显示sql执行时间。 declare g_start number; g_end number; v_line number;begin g_start := dbms_utility.get_time; -- 你要执行的语句; select count(*) into v_line from emp; dbms_lock.sleep(10); -- 延迟10秒钟,让你看到效果 g_start := dbms_utility.get_time - g_start; dbms_output.put_line(g_start);end;/ set serveroutput on;declare g_start number; -- 记录执行开始的时间戳值 g_end number; -- 记录执行结束的时间戳值 v_line number;begin g_start := dbms_utility.get_time; -- 你要执行的语句; select count(*) into v_line from emp; dbms_lock.sleep(10); -- 延迟10秒钟,让你看到效果(此句可以不要) g_start := dbms_utility.get_time - g_start; dbms_output.put_line(g_start); -- g_start 显示出来的单位是毫秒end;/ 我的做法,建一个表,只有sqltest、starttime、endtime.insert sqltest,starttimeexec sqlupdate endtime set serveroutput on;declare g_start number; -- 记录执行开始的时间戳值 g_end number; -- 记录执行结束的时间戳值 v_line number;begin g_start := dbms_utility.get_time; -- 你要执行的语句; select count(*) into v_line from emp; dbms_lock.sleep(3); -- 延迟10秒钟,让你看到效果(此句可以不要) g_start := dbms_utility.get_time - g_start; dbms_output.put_line(g_start); -- g_start 显示出来的单位是0.01秒end;/ 如果在程序中获得语句的执行时间,只能打上log 如果是在pl developer中可以用test窗口跟踪sql语句的执行时间 set timing on 就可以看到你执行语句的时间 执行前记一下 sysdate执行后记一下 sysdate 相减 sqlplus中直接打开set timing on 就可以看到语句的执行时间了。 如何查看其他用户的表内容 错误:Process PZ99 died, see its trace file请高手指点 请问有什么工具支持从INFORMIX迁移至ORACLE ORACLE 中模糊查询的LIKE后面的参数要添加小引号怎么办? Oracle 有没有 C++的编译器 为什么我定义了如下的触发器却不被触发? 登录时 ora-12535:TNS:操作超时 一个存储过程 求一SQL语句? 关于数据类型long的使用 求优化一条sql 求助,oracle导出表结构到sql文件问题
set timing on
然后再执行语句就可以了。
plsql developer的comman窗口同上。
plsql developer的sql 窗口下面状态栏会显示sql执行时间。
g_start number;
g_end number;
v_line number;
begin
g_start := dbms_utility.get_time;
-- 你要执行的语句;
select count(*) into v_line from emp;
dbms_lock.sleep(10); -- 延迟10秒钟,让你看到效果
g_start := dbms_utility.get_time - g_start;
dbms_output.put_line(g_start);
end;
/
declare
g_start number; -- 记录执行开始的时间戳值
g_end number; -- 记录执行结束的时间戳值
v_line number;
begin
g_start := dbms_utility.get_time;
-- 你要执行的语句;
select count(*) into v_line from emp;
dbms_lock.sleep(10); -- 延迟10秒钟,让你看到效果(此句可以不要)
g_start := dbms_utility.get_time - g_start;
dbms_output.put_line(g_start); -- g_start 显示出来的单位是毫秒
end;
/
insert sqltest,starttime
exec sql
update endtime
declare
g_start number; -- 记录执行开始的时间戳值
g_end number; -- 记录执行结束的时间戳值
v_line number;
begin
g_start := dbms_utility.get_time;
-- 你要执行的语句;
select count(*) into v_line from emp;
dbms_lock.sleep(3); -- 延迟10秒钟,让你看到效果(此句可以不要)
g_start := dbms_utility.get_time - g_start;
dbms_output.put_line(g_start); -- g_start 显示出来的单位是0.01秒
end;
/