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如图所示(用主键为int类型的数字来构建表数据文件):