大表分批删除脚本之MySQL版
2018-06-17 23:31:34来源:未知 阅读 ()
经常需要定期对某些表删除历史数据,通常这样的表的数据又是非常巨大,为了减轻对线上环境的影响,删除时必须分成小批量来进行。
以前分享过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
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:Mysql日期和字符的相互转换
下一篇:sphinx安装
- MYSQL怎么删除匿名用户 2019-09-23
- mysql手动删除BINLOG 2019-09-23
- 让你提高效率的 Linux 技巧 2019-09-04
- mysql如何删除重复记录语句 2019-08-23
- PHP操作redis实现的分页列表,新增,删除功能封装类与用法示 2019-07-24
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash