Alireza Asked: 2017-08-08 05:51:55 +0800 CST2017-08-08 05:51:55 +0800 CST 2017-08-08 05:51:55 +0800 CST 使用 innodb_file_per_table 是否提高了 alter table 命令的速度? 772 由于innodb_file_per_table选项将表文件分开而不是将所有数据和数据库的索引放在一个ibdata文件中,因此使用此选项是否会提高alter table的速度? 我有一个 40M 行的表,当我更改特定表时,大约需要 5 到 6 个小时。 这个解决方案有帮助吗?是否有其他方法可以提高重型桌子上的 alter table 速度? mysql innodb 1 个回答 Voted Best Answer akuzminsky 2017-08-09T00:46:43+08:002017-08-09T00:46:43+08:00 innodb_file_per_table是管理 innodb 使用的磁盘空间的便捷选项,但它不会改进 ALTER TABLE 时间。 从 5.6 开始,InnoDB 支持某种 ALTER 的在线 DDL。检查在线 DDL页面以查看当前支持的内容。 如果没有,您可以考虑使用 pt-online-schema-change 或类似工具(https://github.com/github/gh-ost,https://github.com/facebookincubator/OnlineSchemaChange)。它会运行很长时间,但不会阻塞表。
innodb_file_per_table
是管理 innodb 使用的磁盘空间的便捷选项,但它不会改进 ALTER TABLE 时间。从 5.6 开始,InnoDB 支持某种 ALTER 的在线 DDL。检查在线 DDL页面以查看当前支持的内容。
如果没有,您可以考虑使用 pt-online-schema-change 或类似工具(https://github.com/github/gh-ost,https://github.com/facebookincubator/OnlineSchemaChange)。它会运行很长时间,但不会阻塞表。