MyISAM存储引擎的表有三部分
frm文件:表结构的定义文件
MYD文件:数据信息文件,是表的数据文件。
MYI文件:引信息文件,是表数据文件中任何索引的数据树 和表的总数
InnoDB存储引擎的表有两部分
frm格式:同上表结构的文件
ibd格式:表数据和索引的文件。ibd文件由Tablespaces,Segments,Extents,Pages组成。
上述内容数据库版本5.7 新版本8.0的数据库文件有了新的变化
Tablespaces:是ibd的第一个page,记录整个表的Page管理信息
Segments:段是表空间文件中的主要组织结构,它是一个逻辑概念,用来管理物理文件,是构成索引、表、回滚段的基本元素。segment,分别用于管理叶子节点和非叶子节点。
Extents:XDES Page除了文件头部外,其他都和FSP_HDR页具有相同的数据结构,可以称之为Extent描述页,每个Extent占用40个字节,一个XDES Page最多描述256个Extent。
Pages:是InnoDB管理存储空间的基本单位,是ibd的用于管理页节点和叶子节点的page。
在workbench中MyISAM存储引擎的表建立外键时有以下提示
根据上述描述和特点可以得出了两者引擎的区别
InnoDB | MyISAM | |
构成上的区别 | 每个MyISAM在磁盘上存储成三类文件。 .frm文件存储表定义。 数据文件的扩展名为.MYD (MYData)。 索引文件的扩展名是.MYI (MYIndex)。 | 每个MyISAM在磁盘上存储成两类文件。 .frm文件存储表定义。 .idb表数据和索引的文件等。 |
记录表的总数 | 是 | 否 |
事务 | 不支持 | 支持 |
数据库锁级别 | 表锁 | 支持行锁和页锁 |
外键 | 支持 | 不支持 |