背景
线上5700w,32G数据大表需添加创建字段索引
执行SQL
alter table
`usr_user_login_record`
add
index `idx_create_time_device` (`create_time`, `operating_system`),
ALGORITHM = INPLACE,
LOCK = none;耗时
5461.499 s ~ 1.5h
机器性能
Azure云 / 2 vCore / 8 GiB内存 / 3200 最大iops / 4 G Buffer Pool
监控情况
数据库
CPU使用率 9% -> 27%
IO升高 4% -> 14%
其他
从库同步时延上升,从主库完成索引添加后开始。原因为主库完成索引创建后才会写入BinLog,且从库回放线程单线程执行DDL(复制的事务顺序强一致性约束),阻塞后续DML语句执行,并非引擎不支持Online DDL。从库BinLog复制回放调度DDL排他。
业务
主库相关业务RT无影响
从库被影响(业务查询可用,主从同步阻塞)


