官方文档给出的有以下几种:
我们也可以通过SHOW ENGINES
命令来查看:
还可以通过ENGINES表查看
我们通过存储引擎表来看各自的优点:
1.Hash based 使用哈希存储
2.stored in memory 存储在内存中
3.useful for temporary tables 使用临时表空间
表锁
适用只读场景
详细比较:
特征 | MyISAM | Memory | InnoDB | Archive | NDB |
---|---|---|---|---|---|
B树索引 | 支持 | 支持 | 支持 | 支持 | 不支持 |
备份/时间点恢复 | 支持 | 支持 | 支持 | 支持 | 支持 |
集群支持 | 不支持 | 不支持 | 不支持 | 不支持 | 支持 |
聚簇索引 | 无 | 无 | 有 | 无 | 无 |
压缩数据 | 支持(仅当使用压缩行格式时,才支持压缩的 MyISAM 表。使用 MyISAM 的压缩行格式的表是只读的。) | 不支持 | 支持 | 支持 | 不支持 |
数据缓存 | 没有 | 有 | 没有 | 有 | |
加密数据 | 支持(加密功能在服务器中实现) | 支持(加密功能在服务器中实现) | 支持(加密功能在服务器中实现;在 MySQL 5.7 及更高版本中,支持静态数据加密。) | 支持(加密功能在服务器中实现) | 支持(加密功能在服务器中实现;自 NDB 8.0.22 起加密的 NDB 备份;NDB 8.0.29及更高版本支持透明NDB文件系统加密。) |
外键支持 | 不支持 | 不支持 | 支持 | 不支持 | 支持 |
全文搜索索引 | 支持 | 不支持 | 支持(MySQL 5.6 及更高版本中提供了对 FULLTEXT 索引的支持。) | 不支持 | 不支持 |
地理空间数据类型支持 | 支持 | 不支持 | 支持 | 支持 | 支持 |
地理空间索引支持 | 支持 | 不支持 | 支持(MySQL 5.7 及更高版本支持地理空间索引。) | 不支持 | 不支持 |
哈希索引 | 不支持 | 支持 | 不支持( InnoDB 在内部利用哈希索引来实现其自适应哈希索引功能。) | 不支持 | 支持 |
索引缓存 | 支持 | 支持 | 不支持 | 不支持 | |
锁定粒度 | 表级别 | 表级别 | 行级别 | 行级别 | 行级别 |
MVCC | 不支持 | 不支持 | 支持 | 不支持 | 不支持 |
主从复制 | 支持 | 支持 | 支持 | 支持 | |
存储限制 | 256TB | RAM | 64TB | ||
T 树索引 | 不支持 | 不支持 | 不支持 | 不支持 | 支持 |
事务 | 不支持 | 不支持 | 支持 | 不支持 | 支持 |
更新数据字典的统计信息 | 支持 | 支持 | 支持 | 支持 | 支持 |