本示例执行约180w数据

# 开始原生支持 Instant DDL,针对加字段操作,完全避免重建表
步骤一 新建字段

ALTER TABLE `g_order`
ADD COLUMN original_u_phone VARCHAR(20) DEFAULT ''  COMMENT '原号码',
ALGORITHM=INSTANT;

步骤二 增加字段索引

ALTER TABLE g_order
ADD INDEX original_u_phone_index(original_u_phone), 
ALGORITHM=INPLACE, LOCK=NONE;

ALGORITHM=INPLACE:不复制整张表到新表,而是在原表上就地构建索引。
LOCK=NONE:构建过程中允许并发 DML(INSERT/UPDATE/DELETE)和 SELECT。

执行这条,确认**没有长时间运行的事务**再跑 ALTER。

SELECT trx_id,trx_started,trx_query FROM information_schema.innodb_trx;

发表评论

邮箱地址不会被公开。 必填项已用*标注