怎样查询一个表中的数据储存在多少数据块中?
系统取表数据要做多少次io?
每次io的时间怎么查询?

解决方案 »

  1.   

    查看执行计划,可以看到你查询的SQL语句对几个数据块进行了读取..
    还可以看到进行了几次IO,但是每次IO时间这个可以用使用的时间/IO次数来算...
      

  2.   


    只能查看表空间的
    可以开启  set timing on   执行时间
    set autotrace on 查看具体的执行计较
      

  3.   


    -- 表占用的数据块
    declare
     tb number;
     tbb number;
     ub number;
     ubb number;
     luef number;
     lueb number;
     lub number;
    begin
     dbms_space.unused_space(upper('&owner'),upper('&name'),'TABLE',
      tb,tbb,ub,ubb,luef,lueb,lub); dbms_output.put_line('Total blocks:'||to_char(tb));
     dbms_output.put_line('Used blocks:'||to_char(tb-ub));
    end;
    /