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

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

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

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

 

 

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

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

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

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

---

InnoDB存储引擎

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

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

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

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

 

 

posted @ 2019-08-21 10:36  丹阳89  阅读(2676)  评论(0编辑  收藏  举报