2020-05-18:MYSQL为什么用B+树做索引结构?平时过程中怎么加的索引?
【摘要】 福哥答案2020-05-18:此答案来自群员:因为4.0成型那个年代,B树体系大量用于文件存储系统,甚至当年的Longhorn的winFS都是基于b树做索引,开源而且好用的也就这么个体系了。B+树的磁盘读写代价更低,便于遍历,查询效率更加稳定,更适合基于范围的查询。数据来了先用索引节点找叶子,叶子找不到就新建叶子加索引书,这样减少io重复劳动。B树为平衡二叉树一种 分为B+树和B—树其中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+数作为数据索引最优
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)