很快我们就需要对生产数据库进行架构更改.我们需要尽量减少这项工作的停机时间,但是,ALTER TABLE语句将运行很长一段时间.我们最大的表有1.5亿条记录,最大的表格文件是50G.所有表都是InnoDB,它被设置为一个大数据文件(而不是每个表的文件).我们在8核机器,16G内存和RAID10配置上运行MySQL 5.0.46.
我有一些MySQL调优的经验,但这通常集中在来自多个客户端的读取或写入.有关此主题的互联网上有很多信息,但是,关于(暂时)调整MySQL服务器以加速InnoDB表上的ALTER TABLE或INSERT INTO的最佳实践,似乎很少有信息可用. .SELECT FROM(我们可能会使用它而不是ALTER TABLE来获得更多机会来加快速度).
我们计划进行的架构更改是向所有表添加一个整数列,并将其作为主键,而不是当前主键.我们还需要保留"旧"列,因此不能覆盖现有值.
尽可能快地完成这项任务的理想设置是什么?