关于BTREE索引的原理的理解。。。

[复制链接]
查看11 | 回复9 | 2008-2-13 12:43:03 | 显示全部楼层 |阅读模式
最近在看BTREE索引的结构原理,有些地方一直没法理解:
By design, B-Tree indexes are always balanced. This is true because the
Oracle Server continually splits full index blocks as new values are added to
the table that the index is built on. However, as insert and delete activity
occurs on a table, its associated indexes can develop many levels.
哪位朋友能帮忙解释一下上面这段话??万分感谢!!
回复

使用道具 举报

千问 | 2008-2-13 12:43:03 | 显示全部楼层
另外,每个数据BLOCK组成BTREE索引的一个节点,一个索引节点主要包括两方面的数据,一个是索引字段的值和rowid,另一方面是指向另一个节点的指针。我想知道的是这些数据是按照什么原则分布在不同的索引节点上???如果对表进行insert或delete操作,索引相应的做什么调整??如果对表的索引字段进行update操作,索引做什么调整?
哪位高手能解释??多谢了
回复

使用道具 举报

千问 | 2008-2-13 12:43:03 | 显示全部楼层
没人关注吗??是不是这个问题太简单了


回复

使用道具 举报

千问 | 2008-2-13 12:43:03 | 显示全部楼层
最初由 fly_bug 发布
[B]最近在看BTREE索引的结构原理,有些地方一直没法理解:
By design, B-Tree indexes are always balanced. This is true because the
Oracle Server continually splits full index blocks as new values are added to
the table that the index is built on. However, as insert and delete activity
occurs on a table, its associated indexes can develop many levels.
哪位朋友能帮忙解释一下上面这段话??万分感谢!! [/B]

哪些地方不好理解了?
B*-tree indexes 通常又称平衡树索引
平衡是自动维护的.插入会导致索引节点分裂.分裂也一直保持平衡.
在B*-tree中,到达所有叶节点在同一层次上,所以导航到叶结点通常需要大致相同的时间.
在频繁插入删除的表上的索引,可能会导致频繁分裂而增加层次.
但是通常超过3层的索引比较少见.
回复

使用道具 举报

千问 | 2008-2-13 12:43:03 | 显示全部楼层
最初由 fly_bug 发布
[B]另外,每个数据BLOCK组成BTREE索引的一个节点,一个索引节点主要包括两方面的数据,一个是索引字段的值和rowid,另一方面是指向另一个节点的指针。我想知道的是这些数据是按照什么原则分布在不同的索引节点上???
按索引顺序排列,这也就是索引的特点及意义所在
如果对表进行insert或delete操作,索引相应的做什么调整??如果对表的索引字段进行update操作,索引做什么调整?
insert记录就是对应增加索引条目,但是这个增加可能会导致索引分裂(split)
删除操作标记相应索引键值为删除
update = delete + insert,对于索引,不存在严格意义上的更新

哪位高手能解释??多谢了 [/B]

回复

使用道具 举报

千问 | 2008-2-13 12:43:03 | 显示全部楼层
我看找一本数据结构的书看一看会更明白:)
回复

使用道具 举报

千问 | 2008-2-13 12:43:03 | 显示全部楼层
恩,路过一下


可以去读一下:
机械工业出版社的《数据库系统实现》的第四章。
呵呵,谁有电子版的传上来最好了,
我只有纸件的书


回复

使用道具 举报

千问 | 2008-2-13 12:43:03 | 显示全部楼层
这种问题一两句话是说不清楚的。
楼主也可以自己动手做个实验,观察一下。
create一个index,然后往里插入key值,把index的block dump出来,
看看存储上是如何发生变化的。
就是麻烦一点


回复

使用道具 举报

千问 | 2008-2-13 12:43:03 | 显示全部楼层
最初由 dlinger 发布
[B]恩,路过一下


可以去读一下:
机械工业出版社的《数据库系统实现》的第四章。
呵呵,谁有电子版的传上来最好了,
我只有纸件的书

[/B]

Ok
第4章 索引结构
值得一读
回复

使用道具 举报

千问 | 2008-2-13 12:43:03 | 显示全部楼层
最初由 eygle 发布
[B]
Ok
第4章 索引结构
值得一读 [/B]

不早点拿出来


其余的章节呢?
赶快传到电子文档版去
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行