首页 > 代码库 > 大表分批删除脚本之MySQL版
大表分批删除脚本之MySQL版
经常需要定期对某些表删除历史数据,通常这样的表的数据又是非常巨大,为了减轻对线上环境的影响,删除时必须分成小批量来进行。
以前分享过SQLServer的版本。
下面是MySQL版本:
1 delimiter $$ 2 drop procedure if exists proc_delete_old_data; 3 create procedure proc_delete_old_data() 4 begin 5 lp : loop 6 delete from mytable where createdtime <= date_sub(curdate(),interval 1 month) limit 5000; 7 if row_count() < 5000 then 8 leave lp; 9 end if; 10 select sleep(1); 11 end loop; 12 end $$ 13 14 delimiter ; 15 set binlog_format = STATEMENT; 16 call proc_delete_old_data;
本文地址:http://www.cnblogs.com/ajiangg/p/6604317.html
大表分批删除脚本之MySQL版
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。