InnoDB | MyISAM | Memory | Archive | NDB | |
---|---|---|---|---|---|
存储限制 | 64TB | 256TB | RAM | None | |
事务 | yes | no | no | no | |
锁机制 | row | table | table | row | |
聚集索引 | yes | no | no | no | |
索引缓存 | yes | yes | N/A | no | |
B树索引 | yes | yes | yes | no | |
全文索引 | yes | yes | no | no | |
哈希索引 | no | no | yes | no | |
数据压缩 | yes | yes | no | yes | |
数据缓存 | yes | no | N/A | no | |
数据加密 | yes | yes | yes | yes | |
备份 \ 时间点恢复 | yes | yes | yes | yes | |
复制支持 | yes | yes | limited | yes | |
集群数据库支持 | no | no | no | no |
-
InnoDB和MyISAM默认的索引都是B树索引,Memory默认的索引是哈希索引。
-
InnoDB支持事务,支持行级锁,支持数据缓存,支持聚集索引,适用于大部分并发量大、数据量大的业务系统。
-
MyISAM拥有较高的插入、查询速度,但不支持事物,适用于数据仓库等场景。
-
MEMORY将表中的数据存储到内存中,且支持哈希索引,因此精确查询的速度较快,适用于数据量较小、对查询速度要求较高的场景。
-
Archive插入较快,适合存储归档数据,如日志信息。