阅读有关 存储引擎的信息 。
MyISAM:
MySQL中的MyISAM存储引擎。
- 设计和创建更简单,因此对初学者来说更好。不用担心表之间的外部关系。
- 由于结构简单,因此总体上比InnoDB更快,因此服务器资源成本大大降低。-不再是真的。
- 全文索引。-InnoDB现在拥有它
- 特别适合读取密集型(选择)表。-不再是真的。
- 磁盘占用空间比InnoDB少2到3倍。-从5.7版开始,这也许是MyISAM的唯一真正优势。
InnoDB:
MySQL中的InnoDB存储引擎。
- 支持交易(使您支持ACID属性)。
- 行级锁定。与MyISAM相比,拥有更细粒度的锁定机制可以为您提供更高的并发性。
- 外键约束。让您让数据库确保数据库状态以及表之间关系的完整性。
- InnoDB比MyISAM更能抵抗表损坏。
- 支持用于数据和索引的大型缓冲池。MyISAM密钥缓冲区仅用于索引。
- MyISAM停滞不前;将来所有的增强功能都将在InnoDB中。8.0版的推出使这一点变得十分清楚。
MyISAM的局限性:
- 没有外键和级联的删除/更新
- 没有交易完整性(符合ACID)
- 没有回滚功能
- 4,284,867,296行限制(2 ^ 32)-这是旧的 默认值 。(许多版本)可配置的限制为2 ** 56字节。
- 每个表最多64个索引
InnoDB的局限性:
- 没有全文索引(低于5.6的mysql版本)
- 无法压缩为快速只读(已引入5.5.14
ROW_FORMAT=COMPRESSED
) - 您无法修复InnoDB表
为了简短理解,请阅读以下链接:
- MySQL引擎:InnoDB与MyISAM –优缺点的比较
- MySQL引擎:MyISAM与InnoDB
- InnoDB和MyISAM之间的主要区别是什么?
- MyISAM与InnoDB
- MyISAM和InnoDB有什么区别?
- MySql:MyISAM与Inno DB!


![什么时候使用MyISAM和InnoDB?[重复] 什么时候使用MyISAM和InnoDB?[重复]](http://www.mshxw.com/aiimages/31/416342.png)
