如何看自己的引擎
show engines;
查看默认的存储引擎
show variables like '%storage_engine%';
myisam
mysql5.5 之前的默认存储引擎
适用场景 :
非事务形应用(数据仓库 报表 日报)。
只读类型应用
myisam 已经停止维护,其实绝大多数场景都不适合
Innodb
支持事务的存储引擎。
完全支持ACID
支持行级锁
与 myisam 的对比
对比项目 | Myisam | Innodb |
主键 外键 | 不支持 | 支持 |
事务 | 不支持 | 支持 |
行表锁 | 表锁 | 行锁 |
缓存 | 只缓存索引,不缓存真实数据 | 缓存索引和真实数据,对内存要求比较高 |
CSV
用 csv 格式进行存储。
所有列都不能为 null
不支持索引
可对数据文件直接进行编辑
Archive
用zlib对数据进行压缩。磁盘 IO 更少
数据存储在 ARZ 后缀的文件中。
只支持 insert 和 select
只允许在自增ID列上加索引
Memory
数据保存在内存中。
支持 hash索引和 b树 索引
所有字段都是固定长度 varchar(10) = char(10)
不支持 blog text 等大字段。
使用表级锁
Ferderated
提供了远程访问MYSQL 服务器上表的方法
本地不存储数据,数据全在远程服务器上
本地需要保存表结构,和远程 服务器的连接信息。