MySQL索引数据结构与算法

本文详细介绍了MySQL中InnoDB引擎的索引机制,重点对比了B-Tree和B+Tree两种数据结构在索引上的优缺点。通过实例分析了B+Tree在存储和检索效率上的优势,强调了主键选择的重要性,以及最左前缀原则在联合主键索引中的应用。
摘要由CSDN通过智能技术生成

MySQL索引

序:这里的MySQL版本是5.7+,主要是讲常用的InnoDB引擎。其他引擎是有不同之处的。

1. 主键索引
索引是一种排好序的数据结构,可以让MySQL快速的获取数据。
InnoDB仅支持B-Tree(具体是B+Tree,B-Tree的变种)。
B-Tree:
· 叶子节点有相同的深度,且叶子节点的指针为空;
· 所有索引元素不能重复;
· 节点中的数据索引从左往右是递增的。
B-Tree如图所示(用主键为int类型的数字来构建表数据文件):
B-Tree

B+Tree:
· 非叶子节点不包含储存数据,只包含索引,较B-Tree而言,可以储存更多的索引
· 叶子节点包含所有索引字段;
· 叶子节点用指针连接,提高区间访问性能。
B+Tree如图所示(用主键为int类型的数字来构建表数据文件):

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值