大数据表执行新建字段增加索引
本示例执行约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; |