我的存储过程里有很多生成表的语句,请问有什么办法可以得到我每生成一张表,所花的时间?
我的需求是:能够记录在 表里查到的。

解决方案 »

  1.   

    insert前记录sysdate
    insert结束后再记录sysdate
      

  2.   

    不用息记录,这些信息可以从数据字典v$SQL中查询到。
    关注一个CPU_TIME和ELAPSED_TIME字段即可
      

  3.   

    PLSQL块中,创建表前后获取下时间,相减就是你要得
    start_time := dbms_utility.get_time;
    create table 。
    end_time := dbms_utility.get_time;
      

  4.   

     SELECT (SYSDATE - TO_DATE('1970-1-1 8', 'YYYY-MM-DD HH24')) * 86400000 +
            TO_NUMBER(TO_CHAR(SYSTIMESTAMP(3), 'FF'))
       INTO V_START_TIME
       FROM DUAL;   --日志时间结束
            SELECT (SYSDATE - TO_DATE('1970-1-1 8', 'YYYY-MM-DD HH24')) *
                   86400000 + TO_NUMBER(TO_CHAR(SYSTIMESTAMP(3), 'FF'))
              INTO V_END_TIME
              FROM DUAL;
            V_EXP_TIME := V_END_TIME - V_START_TIME; --以毫秒为单位   
      

  5.   

    在pl/sql中定义起始时间和结束时间,相减就可以得到了。
    begin_time:='时间'
    end_time:='结束时间'