记录 PT-Online-Schema-Change 在线优化内存碎片失败 , 大表生产优化方案

By karp 754 Views 3 MIN READ 0 Comments

1.2亿数据量 , 删除到2w条后
2024-12-16T09:38:23.png

2024-12-16T08:46:22.png

异步的修复内存碎片失败 , 最后只能使用老办法 , rename table 了

执行方案如下 :

  1. 对外公告维护
  2. 关闭所有写入脚本和接口
  3. 确认待维护表无新增数据
  4. rename table table_name to new_table_name
    这一步非常快 就算有非常大的数据量更换也只用了1秒不到
  5. 导出从库中的 table_name 表记录, 在主库创建 新的 table_name ,新创建表 子增ID + 10w 保证ID 唯一 , insert 从库数据.

为什么不使用 INSERT INTO table_name SELECT * FROM new_table_name ?
因为执行太慢了, 在维护公告之前 我就已经测试了 上面的 sql 执行时间 , 非常的漫长 还搞不定. 维护时间肯定不能等那么久. 所以采用上面的老方案 替换表从库导入.

本文由 karp 原创

采用 CC BY-NC-SA 4.0 协议进行许可

转载请注明出处:https://www.ikarp.top/index.php/archives/766.html

标签: mysql

0 评论