index.php结构,理解B*treeindex内部结构

Oracle数据库里的B树索引就好象一棵倒长的树,它包含两种类型的数据块:一种是索引分支块,另一种是索引叶子块 索引分支块包含指向相应索引分支块/叶子块的指针和索引健值列(这里的指针是指相关分支块/叶子块的块地址RDBA。 事实上,如果使用准确的名字来描

Oracle数据库里的B树索引就好象一棵倒长的树,它包含两种类型的数据块:一种是索引分支块,另一种是索引叶子块 索引分支块包含指向相应索引分支块/叶子块的指针和索引健值列(这里的指针是指相关分支块/叶子块的块地址RDBA。

事实上,如果使用准确的名字来描述关系型数据库中的B-Tree索引,并不能称其为B-Tree索引,而应当称其为B*-Tree索引。

看下面的索引结构图:

50275a5e18ff638f1c18cc166d3f26aa.png

/+*

drop table gyj_t1;

create table gyj_t1 (

id int,

name varchar2(100)

);

begin

for i in 1 .. 5000 loop

insert into gyj_t1 values(i,'gyj'||i);

commit;

end loop;

end;

/

非唯一索引

create index idx_gyj_t1 on gyj_t1(id);

唯一索引

drop index idx_gyj_t1;

create unique index idx_gyj_t1 on gyj_t1(id);

gyj@ZMDB> select object_id from dba_objects where object_name='IDX_GYJ_T1';

OBJECT_ID

----------

24515

gyj@ZMDB> select header_file,header_block from dba_segments where segment_name='IDX_GYJ_T1';

HEADER_FILE HEADER_BLOCK

----------- ------------

7 2618

+/

6ee8c69c1e4bd71d40146b9fd2aa1840.png

af9a4bb5d08a39a7fc911fdae51c6208.png

ALTER SESSION SET EVENTS 'immediate trace name treedump level 24515';

----- begin tree dump

dd8e53d81075782eeef013b81be4029a.png

1f87d4879ed6174aaee6749e77fe4880.png

*********************************************************************************************转储枝块

0613f96c884d36de00dd34e1cdf27e81.png

********************************************************************************转储叶块

658a72446c0da937cbf040313886b1ce.png

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值