本文整理自网络,侵删。
目录
- 1. MyISAM底层存储
- 1.1 MyISAM底层存储(非聚集索引方式)
- 1.2 InnoDB底层存储(聚集索引方式)
- 2. InnoDB与MyISAM简介
- 3. MyISAM与InnoDB的比较
- 4. 存储引擎的使用
1. MyISAM底层存储
(非聚集索引方式)与InnoDB底层存储(聚集索引方式)
1.1 MyISAM底层存储(非聚集索引方式)
Myisam 创建表后生成的文件有三个:
- frm:创建表的语句
MYD:表里面的数据文件(myisam data)
MYI:表里面的索引文件(myisam index)
底层存储方式:
- MyISAM 用的是非聚集索引方式,即数据和索引落在不同的两个文件上。
- MyISAM 在建表时以主键作为 KEY 来建立主索引 B+树,树的叶子节点存的是对应数据的物理地址。
- 当我们为某个字段添加索引时,我们同样会生成对应字段的索引树,该字段的索引树的叶子节点同样是记录了对应数据的物理地址,然后也是拿着这个物理地址去数据文件里定位到具体的数据记录。
图片讲解得很清楚,大家可以结合图片看一下:
1.2 InnoDB底层存储(聚集索引方式)
Innodb 创建表后生成的文件有两个:
- frm:创建表的语句
- idb:表里面的数据+索引文件
底层存储方式:
- InnoDB 是聚集索引方式,因此数据和索引都存储在同一个文件里。
- InnoDB 在建表时以主键作为 KEY 来建立主索引 B+树,树的叶子节点存的是主键ID和主键 ID 对应的数据。
- 当我们为某个字段添加索引时,我们同样会生成对应字段的索引树,但是该字段的索引树的叶子节点存储的是该字段所在行的主键KEY,拿到主键 KEY 后,再去查询一下主键索引树,才可以定位到具体数据;也就是会进行两次查找。
图片讲解得很清楚,大家可以结合图片看一下:
相关阅读 >>
更多相关阅读请进入《mysql》频道 >>

数据库系统概念 第6版
机械工业出版社
本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。
转载请注明出处:木庄网络博客 » MySQL的存储引擎InnoDB和MyISAM
标签:mysql
相关推荐
评论
管理员已关闭评论功能...