Oralce学习笔记(六)

逻辑体系结构不Data file 

Oralce学习笔记(六)_第1张图片

 

 逻辑体系结构关系图

Oralce学习笔记(六)_第2张图片

 

 逻辑体系结构最小单位BLOCK的研究 

Oralce学习笔记(六)_第3张图片

 block能装多少行数据:

Oralce学习笔记(六)_第4张图片

 

 

drop table test_block_num purge;
create table test_block_num (id varchar2(1));

begin
 for i  in 1..8000 loop
  insert into test_block_num values('a');
 end loop;
 commit;
end;
/

--测试发现,不行。
select f, b, count(*)
  from (select dbms_rowid.rowid_relative_fno(rowid) f,
               dbms_rowid.rowid_block_number(rowid) b
          from test_block_num)
 group by f, b;


根本原因:每行的其他开销导致每行的最小长度在11个字节左右,所以一个8K的块的行理论上最多可用存储8096/11=736行

-------------------------------------------------------------------------------------------------------------
SQL> select f, b, count(*)
  2    from (select dbms_rowid.rowid_relative_fno(rowid) f,
  3                 dbms_rowid.rowid_block_number(rowid) b
  4            from test_block_num)
  5   group by f, b;

         F          B   COUNT(*)
---------- ---------- ----------
        11        197        660
        11        198        660
         6       1957        660
         6       1955        660
         6       1956        660
        11        194        660
        11        196        660
        11        193        660
        11        192        660
        11        195         80
         6       1958        660
        11        199        660
         6       1959        660

  

你可能感兴趣的:(Oralce学习笔记(六))