存储引擎是指定在表上面的,每个表都可以指定其自己的引擎;不管使用什么存储引擎,都会产生一个后缀为 frm 的文件,改用来定义表结构。
1、MySQL 的存储引擎介绍
主要有以下 5 种存储引擎:
序号
存储引擎名称
存储引擎特点
1
MyISAM
Mysql5.5 版本之前的默认存储引擎
2
InnoDB
Mysql5.5 及以后版本的默认存储引擎,目前用得最多的一个存储引擎
3
CSV
数据存储以 CSV 文件,不适用大表或者数据的在线处理,适用于数据的快速导入与导出
4
Memory
数据都是存储在内存中,服务重启数据丢失,默认 16M 空间,可用于查询结果内存计算,创建临时表存储需要计算的数据
5
Archive
数据存储为 ARZ 文件格式,只支持 insert 和 select 两种 *** 作,可用于数据备份
2、MyISAM 与 InnoDB 引擎的区别
Mysql5.5 版本之前默认的存储引擎就是 MyISAM 存储引擎,MySQL 中比较多的系统表使用 MyISAM 存储引擎,系统临时表也会用到 MyISAM 存储引擎,但是在 Mysql5.5 之后默认的存储引擎就是 InnoDB 存储引擎了。原因主要是 MyISAM 是表级锁定,限制了数据库读/写的性能;另外一个原因 MyISAM 不支持事务,基于以上两点,InnoDB 引擎使用得非常广泛。
MyISAM 与 InnoDB 引擎主要有以下 6个方面的区别:
序号
【一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义】 浏览器打开:qq.cn.hn/FTf 免费领取
d>
对比
InnoDB
MyISAM
1
文件存储方式
.frm 表定义文件;.ibd 数据文件
.frm 表定义文件;.myd 数据文件;.myi 索引文件
2
索引方式
B+ Tree
B+ Tree
3
count(*) *** 作
全表扫描
无需扫描
4
锁机制
表锁、 行锁
表锁
5
事务
支持事务的 ACID
不支持事务
6
常用场景
读写 *** 作
读多写少 *** 作,比如配置表
3、数据文件存放路径
– 查看数据存储的文件路径
show variables like ‘datadir’;
4、InnoDB 逻辑存储结构
MySQL 的存储结构分为 5 级:表空间、段、簇、页、行。
**表空间(TableSpace):**表空间可以看做是 InnoDB 存储引擎逻辑结构的存储结构的大容器,所有的数据都存放在表空间中,分为:系统表空间、独占表空间、通用表空间、临时表空间、Undo 表空间。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)