素材牛VIP会员
Mysql删除百万级别的数据,innoDB的,不能删除整张表,求给好的方案
 jh***23  分类:SQL代码  人气:1337  回帖:4  发布于6年前 收藏

求大神解答,有什么好的效率高的方案推荐,而不是删库跑路。

 标签:mysql

讨论这个帖子(4)垃圾回帖将一律封号处理……

Lv6 码匠
lk***29 CEO 6年前#1

一开始就要做db级分区,现在删除痛苦了吧

Lv5 码农
li***56 移动开发工程师 6年前#2

个人感觉如果是只操作一次的话,就分批删除。可以写一个定时任务,每次删除一万条,然后,使用crontab调用。每五分钟或者一分钟调用一次。写日志或者新建一个表,保存删除到了哪一条(可以存id)方便下次任务执行。

Lv5 码农
陈***8 其它 6年前#3

如果是删除表绝大部分数据,可以考虑将需要的数据插入一个新表,然后将通过重命名的方式更换为原有的表名。

如果mysql不支持在线修改表名称,那么需要在生产环境需要短暂的停机。

Lv4 码徒
进***新 学生 6年前#4

哥们 知道重命名么 修改后再创建一个

 文明上网,理性发言!   😉 阿里云幸运券,戳我领取