首页 > 数据库技术 > 详细

MySQL为什么最终要去选择B+Tree?

时间:2021-04-05 12:40:22      阅读:19      评论:0      收藏:0      [点我收藏+]

序言

二叉树存在的问题?

二叉树极端情况会退化为链表

平衡二叉树存在的问题?

平衡二叉树解决了存在线性链表的问题,数据查询的效率好像也还可以,基本能达到O(log2(n)), 那为什么mysql不选择平衡二叉树作为索引存储结构,他又存在什么样的问题呢?

树的高度可能会很高

那有没有一种结构能够解决二叉树的这种问题呢?

有,那就是多路平衡查找树B Tree。

B Tree存在的问题?

在B Tree保证树的平衡的过程中,每次关键字的变化,都会导致结构发生很大的变化,这个过程是特别浪费时间的。

B+Tree

MySQL为什么最终要去选择B+Tree?

 

主键一般都是数字,想知道string类型的辅助索引是b+ tree中是如何存储的,是转为hash整形? 还是原样存储? 如果是原样存储,在磁盘block中是如何排序的?

原样,比较编码值,比如utf8

资料

深入理解MySQL索引之B+Tree(转载)

 

MySQL为什么最终要去选择B+Tree?

原文:https://www.cnblogs.com/cnki/p/14617857.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!