MySQL B + Tree索引机制的落地

在这里插入图片描述
插达式的存储引擎 MySQL最大的优势
索引Indexes是有存储引擎实现的

MySQL5.5版本之前 默认的存储引擎是MyISAM引擎
5.5版本之后 InnoDB成了默认的存储引擎

InnoDB

InnoDB会创建两个文件 一个骨架文件(定义一个表的骨架 存放字段的长度的什么的)
在这里插入图片描述
在这里插入图片描述
有且只有一个主键也就只有一个聚集索引

查询除了主键别的字段 需要建立一个辅助索引 查询到主键 然后进行一次回表
回表也就是根据查询到的主键 到主键索引里面再进行一次查询
索引MySQL推荐使用递增的主键作为索引
因为使用别的字段当做主键 会使表的结构调整的过于频繁
在这里插入图片描述

MyISAM

会创建三个文件 一个骨架文件
在这里插入图片描述
在这里插入图片描述
MYD date文件
MYI index文件 存储B +数的结构 数据区存放磁盘指针
索引和date文件分离
先遍历index文件 找数据对应的磁盘指针

猜你喜欢

转载自blog.csdn.net/NuanShuTT/article/details/108546979