数据库引擎MyISAM和InnDB

目录

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
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值