由于mysql在线ddl(加字段、加索引等修改表结构之类的操作)过程如下:
A.对表加锁(表此时只读)
B.复制原表物理结构,创建新中间表
C.修改中间表的物理结构
D.把原表数据导入中间表中,数据同步完后,锁定中间表,并删除原表
E.rename中间表为原表
F.刷新数据字典,并释放锁
普遍,对于大表的处理 ,目前没有特别好的解决方案 。 大部分公司都会有个瞬断的过程 。
由于mysql在线ddl(加字段、加索引等修改表结构之类的操作)过程如下:
A.对表加锁(表此时只读)
B.复制原表物理结构,创建新中间表
C.修改中间表的物理结构
D.把原表数据导入中间表中,数据同步完后,锁定中间表,并删除原表
E.rename中间表为原表
F.刷新数据字典,并释放锁
普遍,对于大表的处理 ,目前没有特别好的解决方案 。 大部分公司都会有个瞬断的过程 。