如题,请高手帮我解答下!万分感激。

解决方案 »

  1.   

    --要计算读取一个数据块的I/O时间,这个恐怕比较麻烦哦,涉及index等等
    --问问DBA呢?DBA应该比较熟悉这个吧
    --我只晓得计算一个事务的时间与日志量
    --下面是脚本,不知道是否对你有用
    DECLARE
      start_time NUMBER;
      end_time NUMBER;
      start_redo_size NUMBER;
      end_redo_size NUMBER;
    BEGIN
      start_time := dbms_utility.get_time;
      SELECT VALUE INTO start_redo_size FROM v$mystat m,v$statname s
      WHERE m.STATISTIC#=s.STATISTIC#
      AND s.NAME='redo size';  --transaction start
      INSERT INTO t1 SELECT * FROM All_Objects;
      --other dml statement
      COMMIT;
      end_time := dbms_utility.get_time;
      SELECT VALUE INTO end_redo_size FROM v$mystat m,v$statname s
      WHERE m.STATISTIC#=s.STATISTIC#
      AND s.NAME='redo size';
      dbms_output.put_line('Escape Time:'||to_char(end_time-start_time)||' centiseconds');
      dbms_output.put_line('Redo Size:'||to_char(end_redo_size-start_redo_size)||' bytes');
    END;
      

  2.   

    小弟不认识DBA啊,谁知道的跟小弟说说啊,跪求
      

  3.   

    牛掰~我也不认识DBA,但我认识SB---A