mysql中如何批量删除数据

mysql中批量删除数据的方法:首先找出符合条件的最大id;然后在where字段上建立索引;最后通过命令“delete from table_name where id

mysql中如何批量删除数据

推荐:《mysql视频教程》

mysql批量删除大数据

mysql一次性删除大量数据是有可能造成死锁的,而且也会抛异常

The total number of locks exceeds the lock table size in MySQL

这是由于需要删除的数据太大,mysql给的buffer好像只有8MB左右

lock wait timeout exceed 超时

所以需要分批处理,这也是操作大数据时一种常见的思路

DESTOON B2B网站管理系统 DESTOON B2B网站管理系统

DESTOON B2B网站管理系统是一套完善的B2B(电子商务)行业门户解决方案。系统基于PHP+MySQL开发,采用B/S架构,模板与程序分离,源码开放。模型化的开发思路,可扩展或删除任何功能;创新的缓存技术与数据库设计,可负载千万级别数据容量及访问。

DESTOON B2B网站管理系统 0 查看详情 DESTOON B2B网站管理系统

网上比较好的一种方法是:

首先找出符合条件的最大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中如何批量删除数据的详细内容,更多请关注其它相关文章!

本文转自网络,如有侵权请联系客服删除。