2020-05-18:MYSQL为什么用B+树做索引结构?平时过程中怎么加的索引?
福哥答案2020-05-18:
此答案来自群员:
因为4.0成型那个年代,B树体系大量用于文件存储系统,甚至当年的Longhorn的winFS都是基于b树做索引,开源而且好用的也就这么个体系了。B+树的磁盘读写代价更低,便于遍历,查询效率更加稳定,更适合基于范围的查询。数据来了先用索引节点找叶子,叶子找不到就新建叶子加索引书,这样减少io重复劳动。
B树为平衡二叉树一种 分为B+树和B—树其中B+树在树内节点不存储数据只存key B-树将key和value一同存储在各子节点
这样保证了树的每个节点只有一次IO
在一般实际应用中树的出度是一个非常大的值 因此树的深度一般不会3层,因此B树的数据类型检索数据的效率是非常快的
这样一来决定性能的取决于内节点和出度存储上限
由于B+树的存储特点决定B+树的检索效率优于B—数 因此采用B+数作为数据索引最优
福大大架构师每日一题 文章被收录于专栏
最新面试题,针对高级开发人员和架构师。内容是后端、大数据和人工智能。