RDS for MySQL 不支持 MyISAM 引擎的主要原因有如下几个:

  • MyISAM 对数据完整性的保护存在缺陷,且这些缺陷会导致数据库数据的损坏甚至丢失。另外,这些缺陷很多是设计问题,无法在不破坏兼容性的前提下修复。

  • MyISAM 在出现数据损害情况下,很多都需要手工修复,无法适用于产品服务的方式。

  • 对于 RDS 的存储而言,MyISAM 对于 I/O 的操作不是最优化的方案,导致 MyISAM 的性能相对于 InnoDB 的优势不大。

  • MyISAM 向 InnoDB 的迁移代价低,大多数应用仅需要改动建表的代码即可完成迁移。

  • MyISAM 的发展在向 InnoDB 转移,在最新的 5.7 版本中 MySQL 可以完全不是 MyISAM,系统的数控也被转移到了 InnoDB。