是否有可能(以及如何)将巨大的 MyISAM 表转换为 InnoDB,而无需使应用程序脱机。它需要每秒向该表中插入几行,但可以将其挂起约 2 分钟。
显然 ALTER TABLE ... engine=innodb 将不起作用。因此,我计划使用 innodb 引擎创建一个新表并将内容复制到其中。最后,暂停应用程序日志线程和重命名表。
不幸的是,即使以 100 行的小批量复制在一段时间后也会产生明显的延迟。
编辑:永远不会更改现有行,此表用于记录。
mysql innodb
innodb ×1
mysql ×1