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的主键索引跟非主键索引的组织结构不一样

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM