建一个新表,如果应用不需查询已有记录并不会长久锁表,可选业务不多时段,写一个简单SQL,一次将原表改名和新表变原表;如果表总是被锁,则需要短时停应用,可将停启应用和改表写成脚本执行。这样可不停业务或将停顿时间缩至最少。如果应用交易需要查已有记录,则需要将需要的最少已有记录先导入新表(譬如当天记录),这里需要注意的是如果不停服务导入可能存在改名导入数据时间内数据不全的现象。
在建表改名成功后就可慢慢地在两表间导入需要记录。其余记录如果需要导出备份可慢慢地分日期段执行,否则跳过,最后直接drop表就行了。