MySQL存储引擎MyISAM和InnoDB底层索引结构

本文详细对比了MyISAM和InnoDB存储引擎在索引和数据存储上的区别,MyISAM的索引和数据文件分离,InnoDB的索引是聚集索引。介绍了MyISAM主键和辅助索引的结构,以及InnoDB主键和辅助索引的结构特点,强调了InnoDB中非主键索引存储主键值的原因。
摘要由CSDN通过智能技术生成

目录

一 存储引擎作用于什么对象

二 MyISAM和InnoDB对索引和数据的存储在磁盘上是如何体现的

三 MyISAM主键索引与辅助索引的结构

1. 主键索引:

2. 辅助(非主键)索引:

四 InnoDB主键索引与辅助索引的结构

1. 主键索引:

2. 辅助(非主键)索引:

五 InnoDB索引结构需要注意的点


PS:为了更好地理解本文内容,我强烈建议先阅读完我的上一篇文章深入理解MySQL索引底层数据结构与算法

 

一 存储引擎作用于什么对象

存储引擎是作用在表上的,而不是数据库。

 

二 MyISAM和InnoDB对索引和数据的存储在磁盘上是如何体现的

先来看下面创建的两张表信息,role表使用的存储引擎是MyISAM,而user使用的是InnoDB:

再来看下两张表在磁盘中的索引文件和数据文件:

1. role表有三个文件,对应如下:

  • role.frm:表结构文件
  • role.MYD:数据文件(MyISAM Data)
  • role.MYI:索引文件(MyISAM Index)

2. user表有两个文件,对应如下:

  • user.frm:表结构文件
  • user.ibd:索引和数据文
评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值