mysql中批量删除数据的方法

MySQL中批量删除数据的方法?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!

创新互联公司主要从事成都网站制作、做网站、外贸营销网站建设、网页设计、企业做网站、公司建网站等业务。立足成都服务咸宁,10年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:13518219792

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

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中批量删除数据的方法
文章链接:http://ybzwz.com/article/goidod.html