mysql批量删除数据库中数据的方法:通过LIMIT参数分批删除,语法为【DELETE FROM syslogs WHERE status=1 ORDER BY statusid LIMIT 10000】。
mysql批量删除数据库中数据的方法:
假设有一个表(syslogs)有1000万条记录,需要在业务不停止的情况下删除其中statusid=1的所有记录,差不多有600万条, 直接执行 DELETE FROM syslogs WHERE statusid=1
会发现删除失败,因为lock wait timeout exceed的错误。
因为这条语句所涉及的记录数太多,因此我们通过LIMIT
参数分批删除,比如每10000条进行一次删除,那么我们可以利用 MySQL这样的语句来完成:
DELETE FROM syslogs WHERE status=1 ORDER BY statusid LIMIT 10000;
然后分多次执行就可以把这些记录成功删除。
注:
-
执行大批量删除的时候注意要使用上limit。因为如果不用limit,删除大量数据很有可能造成死锁。
-
如果delete的where语句不在索引上,可以先找主键,然后根据主键删除数据库。
-
平时update和delete的时候最好也加上limit 1 来防止误操作。
mysql如何批量删除数据库中的数据
—–文章转载自PHP中文网如有侵权请联系admin#tyuanma.cn删除
关于Golang panic用法详解
转载请注明来源:mysql如何批量删除数据库中的数据_编程技术_亿码酷站
本文永久链接地址:https://www.ymkuzhan.com/1217.html
本文永久链接地址:https://www.ymkuzhan.com/1217.html
下载声明:
本站资源如无特殊说明默认解压密码为www.ymkuzhan.com建议使用WinRAR解压; 本站资源来源于用户分享、互换、购买以及网络收集等渠道,本站不提供任何技术服务及有偿服务,资源仅提供给大家学习研究请勿作它用。 赞助本站仅为维持服务器日常运行并非购买程序及源码费用因此不提供任何技术支持,如果你喜欢该程序,请购买正版! 版权声明:
下载本站资源学习研究的默认同意本站【版权声明】若本站提供的资源侵犯到你的权益,请提交版权证明文件至邮箱ymkuzhan#126.com(将#替换为@)站长将会在三个工作日内为您删除。 免责声明:
您好,本站所有资源(包括但不限于:源码、素材、工具、字体、图像、模板等)均为用户分享、互换、购买以及网络收集而来,并未取得原始权利人授权,因此禁止一切商用行为,仅可用于个人研究学习使用。请务必于下载后24小时内彻底删除,一切因下载人使用所引起的法律相关责任,包括但不限于:侵权,索赔,法律责任,刑事责任等相关责任,全部由下载人/使用人,全部承担。以上说明,一经发布视为您已全部阅读,理解、同意以上内容,如对以上内容持有异议,请勿下载,谢谢配合!支持正版,人人有责,如不慎对您的合法权益构成侵犯,请联系我们对相应内容进行删除,谢谢!