Mysql存储引擎--MyISAM与InnoDB的底层数据结构

mysql存储引擎MyISAM与InnoDB的底层数据结构的区别主要有,在磁盘上存储的文件以及存储索引以及组织存储索引的方式不一样;mysql

MyISAM索引文件和数据文件是分离的(非汇集),索引的叶节点存放的是对应索引在文件系统中的数据地址编码,好比说查找id=49的元素时,是先索引树查询到49对应的数据文件地址,而后再拿着地址在数据文件中取出对应的数据,sql

MyISAM存储引擎,主键索引跟非主键索引的结构是同样的都是以下所示的存储方式;存储在磁盘上的文件也是对应的三个文件;数据库

 

 

MyISAM索引文件在数据库中存放的对应表的磁盘文件有*.frm,*.MYD,*.MYI结尾的三个文件;数据结构

frm文件是存放的表结构,表的定义信息;编码

MYD文件是存放着表中的数据;spa

MYI文件存放着表的索引信息;blog

---索引

InnoDB存储引擎im

InnoDB存储引擎在磁盘中存放的对应的表的磁盘文件有*.frm,*.ibd这两个文件;数据

frm文件是存放表结构,表的定义信息;

ibd文件是存放 表中的数据、索引信息;

下面是主键索引的组织结构,InnoDB的主键索引跟非主键索引的组织结构不同

 

相关文章
相关标签/搜索