ALTER TABLE table_name ENGINE = / mysql_convert_table_format哪个更好

时间:2015-08-24 09:51:33

标签: mysql innodb myisam

我在MariaDB中有大量的InnoDB数据库(每个> 1T)。我想把它们变成MyISAM。我可以谷歌2方法:

https://dev.mysql.com/doc/refman/5.0/en/mysql-convert-table-format.html

http://dev.mysql.com/doc/refman/5.6/en/converting-tables-to-innodb.html

第二个是InnoDB,但arg可以更改为MyISAM。

哪一个更有效率(我已经安装了perl模块mysql_convert_table_format需要)?谢谢!

1 个答案:

答案 0 :(得分:1)

mysql-convert-table-format只是一个使用ALTER TABLE来完成工作的工具。它提供了一个很好的界面和帮助,但除此之外它没有做任何特别的事情。

您可以使用自己喜欢的MySQL客户端程序连接到数据库并运行:

ALTER TABLE table_name ENGINE='MyISAM'

更改表格格式(最后mysql-convert-table-format也是这样做。)

警告!

在更改表格格式期间,表格将被锁定,即其他查询无法访问。这可能会导致您的网站无法响应,行为异常甚至脱机。

其他选项

pt-online-schema-changePercona Tookit的一部分,是一个旨在更改大表的表定义同时保持在线状态的工具。它创建一个具有新结构的新表,然后智能地将数据从旧表复制到新表中。

我没有尝试过,但我认为它可以帮助你。