0
点赞
收藏
分享

微信扫一扫

数据库引擎MyISAM和InnDB

小桥流水2016 2022-04-13 阅读 59

目录

MyISAM引擎(非聚集索引方式)

非聚簇索引:

1、利用主键 id为主键索引时

2、不以主键id为索引的时候

 INNODB引擎(聚集索引方式)

聚簇索引:

1、利用主键 id为主键索引时

2、不以主键id为索引的时候

存储对比


引擎是基于表的而不是数据库


MyISAM引擎(非聚集索引方式)

MylSAM是MySQL的默认数据库引擎( 5.5版之前) ,由早期的ISAM ( Indexed Sequential Access Method :有索引的顺序访问方法)所改良。虽然性能极佳,但却有一个缺点:不支持事务处理( transaction )。

非聚簇索引:

将数据与索引分开储存,索引结构的叶子结点指向了数据的对应位置

1、利用主键 id为主键索引时

2、不以主键id为索引的时候

例如以username为索引

假如重复了

就像我们平常的时候,有几个重复的就查出来几个,

因为我们计算机底层都是二进制,不管是什么类型都可以排序

 INNODB引擎(聚集索引方式)

InnoDB ,是MySQL的数据库引擎之- - ,为MySQL AB发布binary的标准之一-。InnoDB由Innobase Oy公司所开发2006年五月时由甲骨文公司并购。与传统的ISAM与MyISAM相比 ,InnoDB的最大特色就是支持了ACID兼容的事务( Transaction )功能,类似于PostgreSQL。目前InnoDB采用双轨制授权,一是GPL授权,另一是专有软件授权。

聚簇索引:

就是将数据储存和索引放到了一起,索引结构的叶子结点保存了数据

1、利用主键 id为主键索引时

 叶子结点存储的事具体的数据内容,而MylSAM存储的是数据的地址

2、不以主键id为索引的时候

这是就不是存储所有的数据了,而是将主键ID存储到那,并且再次利用ID的索引查找对应的数据 

这样做就大大节省了空间也减少了数据数据的操作次数

存储对比

创建两个不同引擎的表,也就是磁盘持久化的过程

 

 可以看到生成了不同后缀的文件

 其中frm就是我们的建表语句文件,所以都一样

MyISAM引擎: user2
user2.MYD 表的里面的数据文件
user2.MYI 表的里面的索引文件


INNODB引擎: user
user. ibd表的里面的数据+索引文件

举报

相关推荐

0 条评论