mysql中如何批量删除数据
程序员文章站
2022-01-28 21:55:41
...
mysql中批量删除数据的方法:首先找出符合条件的最大id;然后在where字段上建立索引;最后通过命令“delete from table_name where id < maxId limit 10000”批量删除数据即可。
推荐:《mysql视频教程》
mysql批量删除大数据
mysql一次性删除大量数据是有可能造成死锁的,而且也会抛异常
The total number of locks exceeds the lock table size in MySQL
这是由于需要删除的数据太大,mysql给的buffer好像只有8MB左右
lock wait timeout exceed 超时
所以需要分批处理,这也是操作大数据时一种常见的思路
网上比较好的一种方法是:
首先找出符合条件的最大id(这里的id是有序的,不需要连续)
select max(id) from table_name where create_time < '2017-04-06'
在where字段上建立索引可提高效率
千万左右的数据大概需要10多秒
接着按id删除,一次删除10k,循环删除
delete from table_name where id < maxId limit 10000
以上就是mysql中如何批量删除数据的详细内容,更多请关注其它相关文章!
上一篇: mysql导入不超过2m怎么办
下一篇: mysql老停止怎么办
推荐阅读
-
mysql数据库转移至sqlserver数据库中详解(mysql和sqlserver数据转移)
-
在MySQL数据库中复位根用户的密码的方法
-
iOS应用中UITableView左滑自定义选项及批量删除的实现
-
Mysql数据库如何开启远程访问权限?
-
Oracle中大批量删除数据的方法
-
springMVC如何将controller中Model数据传递到jsp页面
-
springMVC如何将controller中数据传递到jsp页面
-
mysql批量insert数据上限(mysql存储过程实例详解)
-
mysql 数据库中my.ini的优化 2G内存针对站多 抗压型的设置
-
mysql查找删除表中重复数据方法总结