批量删除2000w数据

使用delete from table太慢

//DELIMITER
DROP PROCEDURE if EXISTS deleteManyTable;
create PROCEDURE deleteManyTable()
BEGIN
DECLARE i int;
set i=1;

while i<2001 
DO
DELETE FROM `f_log` WHERE (`id` >95000000) ORDER BY `id` LIMIT 10000;
SELECT SLEEP(0.5);
set i=i+1;
end while;
END;
//DELIMITER
CALL deleteManyTable();

 参考文献:

http://mysql.rjweb.org/doc.php/deletebig

posted on 2015-07-31 14:53  一天不进步,就是退步  阅读(4418)  评论(0编辑  收藏  举报