线上加索引是否会有影响?在线DDL增加索引

2025-07-08 15:41

会有影响,具体如下:

影响程度:

  1. 锁表风险 - ALTER TABLE 会锁定整个表,期间无法读写

  2. 时间较长 - 大表建索引可能需要几分钟到几小时

  3. IO压力 - 建索引会产生大量磁盘IO

  4. 影响业务 - 期间所有对该表的操作都会被阻塞

建议方案:

方案1:在线DDL(推荐)

-- MySQL 5.6+ 支持在线添加索引
ALTER TABLE t_device_event 
ADD INDEX idx_gmt_create (gmt_create) 
ALGORITHM=INPLACE, LOCK=NONE;

方案2:业务低峰期操作

  • 选择凌晨2-4点等业务低峰时段

  • 提前通知相关业务方

方案3:主从切换

  1. 先在从库添加索引

  2. 主从切换

  3. 在新从库(原主库)添加索引

监控建议:

-- 查看进度
SHOW PROCESSLIST;
-- 查看表状态
SHOW TABLE STATUS LIKE 't_device_event';

最安全的是使用方案1的在线DDL方式。

相关新闻
热点新闻
精彩视频
投票
查看结果
Tags

站点地图 在线访客: 今日访问量: 昨日访问量: 总访问量:

© 2025 明年一定不摸鱼 版权所有 Powered by UJCMS

god bless u!