• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >Mysql > mysql进阶(十五) mysql批量删除大量数据

mysql进阶(十五) mysql批量删除大量数据

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2018-12-05

匿名通过本文主要向大家介绍了mysql进阶,批量删除,大量数据 等相关知识,希望本文的分享对您有所帮助

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进阶,批量删除,大量数据 的内容,更多相关内容请关注微课江湖()!

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • mysql进阶(二十五)解决数据库NO CONNECTION问题
  • mysql进阶(二十四)防御SQL注入的方法总结
  • mysql进阶(二十三)数据库事务四大特性
  • mysql进阶(二十二)MySQL错误之Incorrect string value: '\xE7\x81\xAB\xE7\x8B\x90...中文字符输入错误
  • mysql进阶(二十一)删除表数据
  • mysql进阶(二十)CPU超负荷异常情况
  • mysql进阶(十九)SQL语句如何精准查找某一时间段的数据
  • mysql进阶(十八)完全卸载mysql数据库图文教程
  • mysql进阶(十七)Cannot Connect to Database Server
  • mysql进阶(十六)常见问题汇总

相关文章

  • 2018-12-05MySQL升级的最佳方法实例分享
  • 2018-12-05SQL语句查询数据库中重复记录的个数
  • 2018-12-05MySQL分布式集群之MyCAT(一)简单介绍
  • 2018-12-05简单实用SQL脚本Part SQLServer 2005 链接服务器
  • 2018-12-05中文Access2000速成教程--1.6 定义“主键”
  • 2018-12-05mysql 复制记录实现代码
  • 2018-12-05Oracle7.X 回滚表空间数据文件误删除处理方法
  • 2018-12-05MySQL审计插件的测试(mcafee和mariadb版本)详情介绍
  • 2018-12-05Spring Boot添加MySQL数据库及JPA实例的示例代码分享
  • 2017-05-11MySQL中使用innobackupex、xtrabackup进行大数据的备份和还原教程

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • sqlserver 触发器学习(实现自动编号)
    • MySQL入门之使用SQL99标准的连接查询
    • Lost connection to MySQL server at 'reading authorization packet', system error: 0
    • 简单介绍MySQL中GROUP BY子句的使用
    • MYSQL安装时解决要输入current root password的解决方法
    • Oracle中AIO解析
    • SQL Server 数据库自动执行管理任务
    • distinct 多列问题结合group by的解决方法
    • 浅谈LogMiner的使用方法_Oracle应用_脚本之家
    • 为何要将ubuntu 16.04 设置 mysql 的编码为 utf8?

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有