小码问答,有问必答!

阿里云RDS为啥不能创建引擎为MyISAM的表?

运维

收藏

1个回答

我要回答

  • author
    牛叔叔 2020-11-20 14:17

    查询阿里云官网获知:


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

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

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

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

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

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