如题,能否直接得到执行时间?最好是有语句可以得到.谢谢大家!

解决方案 »

  1.   

    sqlplus里
    set timing on
    然后再执行语句就可以了。
    plsql developer的comman窗口同上。
    plsql developer的sql 窗口下面状态栏会显示sql执行时间。
      

  2.   

    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;
    /
      

  3.   

    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;
    /
      

  4.   

    我的做法,建一个表,只有sqltest、starttime、endtime.
    insert sqltest,starttime
    exec sql
    update endtime
      

  5.   

    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;
    /
      

  6.   

    如果在程序中获得语句的执行时间,只能打上log 如果是在pl developer中可以用test窗口跟踪sql语句的执行时间
      

  7.   

    set timing on 就可以看到你执行语句的时间
      

  8.   

    执行前记一下 sysdate执行后记一下 sysdate 相减
      

  9.   

    sqlplus中直接打开set timing on  就可以看到语句的执行时间了。