大表分批删除脚本之MySQL版
Posted 万剑齐发
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了大表分批删除脚本之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版的主要内容,如果未能解决你的问题,请参考以下文章