MyISAM
不支持事务,支持全文索引,但是对于一些在线分析处理操作速度快。
文件组成由 myd 存放数据的 myi 存放索引的
InnoDB
支持事务,主要是面向在线事务处理方面的应用,特点是行锁设计,并支持外键。
Innodb 采用聚集索引的方式。没有主键,没有唯一键,为每一行生产一个 6 字节的行 id,作为主键。
Memory
将数据放在内存中,如果数据库重启或者宕机,表数据就会丢失。非常适合存储一些临时表,默认的是哈希索引,不是 B+ 树索引,varchar() 默认是按照 char() 存储的,浪费内存。
不支持 text 和 BLOB 类型。如果数据中有 text 和 BLOB 类型,数据库会把这些数字转换到磁盘上。
Archive
只支持 INSERT 和 SELECT 操作,使用压缩算法将数据进行压缩后存储,压缩比例一般是 1:10,主要提供插入和压缩功能。
功能 | MYISAM | Memory | InnoDB | Archive |
---|---|---|---|---|
存储限制 | 256TB | RAM | 64TB | None |
支持事物 | No | No | Yes | No |
支持全文索引 | Yes | No | No | No |
支持数索引 | Yes | Yes | Yes | No |
支持哈希索引 | No | Yes | No | No |
支持数据缓存 | No | N/A | Yes | No |
支持外键 | No | No | Yes | No |