MySQL-索引底层实现

MYSQL-索引底层实现

索引数据结构

索引是帮助MySQl高效获取数据的排好序数据结构

二叉树

二叉树(Binary tree)是树形结构的一个重要类型。许多实际问题抽象出来的数据结构往往是二叉树形式,即使是一般的树也能简单地转换为二叉树,而且二叉树的存储结构及其算法都较为简单,因此二叉树显得特别重要。二叉树特点是每个结点最多只能有两棵子树,且有左右之分,并且左子树小于叶子节点,右子树都大于叶子节点。

图片说明

红黑树

hash表

查找单个数据速度快,但进行范围查找时,效果不好。

B-Tree

叶节点具有相同的深度,叶节点的指针为空。
所有索引元素不重复。
节点中的数据索引从左到右递增排序。
图片说明

存储引擎

MyISAM

图片说明

MyISAM 是非聚集索引(索引文件和数据文件是分离的)
.frm 表定义,是描述表结构的文件。
.MYD 数据信息文件,是表的数据文件。
.MYI 索引信息文件,是表数据文件中任何索引的数据数。

InnoDB

图片说明

InnoDB 是聚集索引(索引和数据放在一起)
.frm 表定义,表结构文件
.ibd 表数据和索引的文件,该表的索引的每个非叶子节点存储索引,叶子节点存储索引和索引对应的数据。

联合索引底层原理

图片说明

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-08 14:08
点赞 评论 收藏
分享
06-19 10:54
门头沟学院 Java
绝迹的星:行情挺好的, 刚拒了一个美团offer, 因为不给配电动车
点赞 评论 收藏
分享
06-15 18:44
黄淮学院 Java
Lynn012:如果是居民楼还是算了吧,看着有点野呢
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务