求大神解答,有什么好的效率高的方案推荐,而不是删库跑路。
一开始就要做db级分区,现在删除痛苦了吧
个人感觉如果是只操作一次的话,就分批删除。可以写一个定时任务,每次删除一万条,然后,使用crontab调用。每五分钟或者一分钟调用一次。写日志或者新建一个表,保存删除到了哪一条(可以存id)方便下次任务执行。
如果是删除表绝大部分数据,可以考虑将需要的数据插入一个新表,然后将通过重命名的方式更换为原有的表名。
如果mysql不支持在线修改表名称,那么需要在生产环境需要短暂的停机。
哥们 知道重命名么 修改后再创建一个