mysql中批量删除数据的方法

60次阅读
没有评论

共计 678 个字符,预计需要花费 2 分钟才能阅读完成。

自动写代码机器人,免费开通

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

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 中批量删除数据的方法大概了解了吗?希望文章内容对大家有所帮助。如果想了解更多相关文章内容,欢迎关注丸趣 TV 行业资讯频道。

向 AI 问一下细节

丸趣 TV 网 – 提供最优质的资源集合!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-12-18发表,共计678字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)