对于非常大的表,MySQL的ALTER
TABLE性能可能会成为问题。MySQL通过创建一个具有所需新结构的空表,将旧表中的所有数据插入新表中,然后删除旧表来执行大多数更改。这可能会花费很长的时间,特别是如果您的内存不足并且表很大并且有很多索引时。许多人都有需要数小时或数天才能完成的ALTER
TABLE操作的经验。
无论如何,如果您需要继续使用alter table,也许以下资源可以为您提供帮助:
- https://www.percona.com/doc/percona-toolkit/2.2/pt-online-schema-change.html
- https://github.com/soundcloud/lhm
- https://githubengineering.com/gh-ost-github-s-online-migration-tool-for-mysql/



