b tree index的疑问。

chen3512786 2008-11-24 11:55:05
我在测试的时候在name字段上建立了一个index。name字段长度char(1024).block size 8k,当我插入一条记录的时候查询index_stats表只有一个leaf node。 经过计算一个block大约能够存7个索引条目((8*1024)*90%/(3+1+1024+1+6)) 当数据不大于7条的时候都是这种状态。增加一条数据,然后查询产生了2个leaf node和一个branch node。而每个branch node里面的索引条目大小是3+1+1024+1+4=1033,同理他也只能存放7个leaf node。即最多7*7条记录,再增加就会产生第2个branch node。这时问题就来了。当我想验证的时候我插入了500条记录还是只有一个branch node。这是为什么?是不是和我存在name中的数据有关系?有相同的数据的时候就不会重复计数,还是和name中实际存放的数据长度有关,也就是说计算索引条目的长度的时候是根据实际存放的数据的长度计算的?
请有深入了解的朋友帮忙解释下。
...全文
72 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
chen3512786 2008-11-25
  • 打赏
  • 举报
回复
谢谢这么晚还看这个问题,我自己也再想想,看能弄明白不。
[Quote=引用 1 楼 wffffc 的回复:]
分析一下索引,再看看
[/Quote]
wffffc 2008-11-25
  • 打赏
  • 举报
回复
分析一下索引,再看看
chen3512786 2008-11-25
  • 打赏
  • 举报
回复
没人来解释下?1楼的也不见了。

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧