修改表结构会导致表锁,数据量大修改数据很长,导致大量操作阻塞。
解决方案:可以使用pt-online-schema-change,它的大致过程为:
- 首先创建一个和原表一样的空的表结构
- 修改表结构,copy原表中的数据到新表
- 在原表上创建一个触发器在数据copy的过程中,将原表的更新操作全部同步到新表中
- copy完成之后,用rename table 新表代替原表,默认删除原表。
修改表结构会导致表锁,数据量大修改数据很长,导致大量操作阻塞。
解决方案:可以使用pt-online-schema-change,它的大致过程为: