btree b-tree b+tree 区别是什么鸭

RT
求大佬言简意赅的说一下🉑

  • 有点分不清;
  • mysql中说的btree是指B+tree还是什么;

==========================分割线=========================================

解答:

  • 看到各位评论,然后汇总了一些;
  • 索引实现是用B+Tree
  • 也就是说MySQL中看到的索引index_type=BTree也就是个索引类型的名词;而真正的底层实现是用的B+tree;

B+Tree只有叶子节点上存放数据,非叶子节点存放索引就行;B+Tree的叶子节点还有一个链表将所有的叶子节点连起来,方便遍历。B+Tree是B-tree的提升版;

关于B-Tree,这种也就是B树,平衡多路搜索树,它的所有节点都有索引和数据,这样带来的问题就是说,如果数据过大,会影响索引的存储,从而可能深度会更高,影响I/O的读取效率;

#秋招##笔试题目#
全部评论
b树就是b-树,因为英文中b树是b-tree,有些地方就翻译成b-树。 b+树可以看作是b树的一种优化结构。 b树和b+树最大的不同就是b树的非叶子节点放数据,b+树的非叶子节点只放索引不放数据,数据只放在叶子节点,所以b+树显得更矮。 另外b+树还有一些优化,比如叶子节点是一个链表,所以方便遍历。 mysql用的是b+树
点赞 回复
分享
发布于 2019-10-10 11:40
印象中B相关的只有三种树,b tree 和 b-tree是一种, b+tree是另一种,还有一种是b*树 。    具体区别建议百度更详细点。  (说错了别打我🌚
点赞 回复
分享
发布于 2019-10-10 11:35
百信银行
校招火热招聘中
官网直投
@35岁我就辞职去卖炒粉
点赞 回复
分享
发布于 2019-10-10 11:42
不同意楼上的。 B树的数据结构划分我学习过的有 B树 B+树 B*树。 至于B-Tree mysql里的B-Tree索引从技术上实现来说是采用的B+树的结构,并不存在一个B-(减)树的结构。 参照《高性能Mysql第3版》第五章
点赞 回复
分享
发布于 2019-10-10 11:44
没有B减树,那个是个杠,就是B树。 就两种,B树和B+树
点赞 回复
分享
发布于 2019-10-10 11:45

相关推荐

1 6 评论
分享
牛客网
牛客企业服务