MyISAM与InnoDB的索引结构
现在我们硬盘上的数据,基本上都是使用B+Tree数据结构来进行存储数据的。
1、非聚簇(集)结构
MyISAM主键索引有二个文件,有一个是索引文件(以 .MYI 结尾),一个是数据文件(以 .MYD 结尾)。
通过索引查找数据的时候,是通过找到索引下面挂载的数据编号,通过这个编号找到我们的数据区,取出数据。如下图所示:
MyISAM普通索引与主键索引在硬盘上面的存储方式,都是一样的。Mysql服务器实现的不同点是主键索引是唯一不能重复的,普通索引是可以重复的。如下图所示:

2、聚簇(集)结构
innodb主键与数据是在一起的,所以Innodb引擎,表数据与表索引在一起,只有一个文件。如下图所示:
innodb普通索引,如下图所示:
索引的

本文探讨了MyISAM与InnoDB的索引结构差异,包括非聚簇和聚簇结构的特点。MyISAM的主键索引分为独立的索引文件和数据文件,而InnoDB的主键与数据存储在一起。InnoDB引擎使用主键查询时效率更高,非主键查询可能需要二次遍历。创建InnoDB表时建议明确设置整型自增主键以优化性能。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



