首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >B+树和二级索引

B+树和二级索引
EN

Stack Overflow用户
提问于 2015-03-28 08:54:05
回答 1查看 1.9K关注 0票数 0

我想知道使用二级索引的B+树是如何工作的?使用二级索引,树的叶节点中可以有重复的值。当插入发生时,树如何知道除了记录之外的位置,如果它们是它正在插入的字段的重复值?

EN

回答 1

Stack Overflow用户

发布于 2015-03-28 11:21:10

这个article建议了一种很好的方法来处理B+树中的重复键。在B+树中,您只将指向数据的键和指针保存在叶节点中,并且它们可能是重复的。例如,7 7 7。为了找到它们,你还在内部节点中保留了一个键7(如下所示),右指针引用具有>= 7的键的块,即使用这3个键的块。

现在,在插入时,可能会出现新的重复键不适合节点的情况,为了平衡树,必须重新组织。但是代价很高,所以作者建议添加一个溢出块,并将其链接到包含重复键的溢出块。

代码语言:javascript
复制
------------
| 5 | 7 |  |
V---V---V---
        ---------    ---------
        |7  7  7| -> |7      |
        ---------    ---------
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29312402

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档