`
jaychang
  • 浏览: 734673 次
  • 性别: Icon_minigender_1
  • 来自: 嘉兴
社区版块
存档分类
最新评论

MySQL删除表中大批量的数据

阅读更多

 

假设有一个表(osc_logs)有2000万条记录,我们要在业务不停止的情况下删除其中status=1的所有记录,差不多有1800万条,直接执行 DELETE FROM osc_logs WHERE status=1 会发现删除失败,因为lock wait timeout exceed的错误。因为这条语句所涉及的记录数太多了,因此我们可以分批来删除,比如每10000条进行删除,那么我们可以利用MySQL这样的语句来完成

DELETE FROM osc_logs WHERE status=1 ORDER BY log_id LIMIT 10000;

然后分多次执行就可以把这1800万条记录成功删除。

分享到:
评论

相关推荐

    MySQL 删除大表的性能问题解决方案

    在MySQL数据库中,删除大表,尤其是InnoDB存储引擎的表,可能会引发严重的性能问题,尤其是在处理超过30GB的数据量时。这个问题主要是由于MySQL在删除表时需要遍历整个Buffer Pool来清理数据,这可能导致MySQL服务挂...

    mysql批量删除大量数据

    - 使用mysqldump工具的--quick选项:在进行大批量数据导入导出时,使用--quick选项可以减少内存消耗,因为mysqldump会逐行读取数据,而不是一次读取所有数据到内存中。 最后,需要特别注意的是,在执行批量删除操作...

    JAVA MYSQL 实现简单的病例数据库 添加删除更新

    - **表视图(JTable)**: 可能用于显示和编辑数据库中的数据,方便用户查看和操作病例记录。 5. **文件I/O**: - 在“csc6710_XUandZHANG_part1”压缩包中可能包含配置文件、数据库脚本或者日志文件,需要使用...

    10倍以上提高Pentaho Kettle的MySQL写入速度

    标题中的“10倍以上提高Pentaho Kettle的MySQL写入速度”指的是通过优化Pentaho Kettle(也称为Kettle或PDI)的数据处理流程,显著提升了将数据导入到MySQL数据库的速度。Pentaho Kettle是一款强大的ETL(提取、转换...

    批量删除MySQL数据库相同前缀的数据表

    在MySQL数据库管理中,有时我们需要清理或重置数据,可能会涉及到大批量删除具有相同前缀的表。批量删除这些表可以提高工作效率,避免手动逐个删除的繁琐过程。本工具正是为了解决这一问题而设计的,它允许用户通过...

    解决PHP里大量数据循环时内存耗尽的方法

    然而,缺点也非常明显:若数据量很大,会迅速耗尽内存资源。 2. 非缓冲查询(Unbuffered Query):通过特定的设置,让PHP在执行查询时,逐条从数据库服务器读取数据,而不会将整个结果集一次性加载到内存中。这样...

    mysql 10w级别的mysql数据插入

    在大批量插入时,可以考虑使用事务来确保数据的一致性。将所有插入操作包裹在一个BEGIN...COMMIT或START TRANSACTION...COMMIT的事务中,能减少数据库锁定时间,提高并发性能。 5. **批量大小的选取**: 批量插入...

    Excel百万级别数据的导入和导出

    6. **数据库的使用**:当数据量达到百万级别时,使用数据库(如MySQL、Oracle、SQL Server或NoSQL数据库)存储数据更为合适。数据库可以提供高效的查询和数据管理功能,同时支持批量导入导出。 7. **数据预处理**:...

    Mysql语句.docx

    对于大批量删除,`TRUNCATE TABLE`通常比`DELETE`更高效,因为它不记录单个删除操作,而是直接重置表。然而,如果有外键约束,直接使用`TRUNCATE TABLE`可能会导致错误,因为这会违反约束。在这种情况下,可以使用`-...

    MySQL Language Reference

    Pearson 提供针对本书的大批量购买折扣及特殊销售服务。美国境内的企业和政府机构可以通过拨打 1-800-382-3419 或发送邮件至 corpsales@pearsontechgroup.com 联系 Pearson 获取更多信息。对于美国境外的购买需求,...

    C#使mySQL与Excel、xml的联动修改与导入导出

    对于大批量数据操作,这种方式更为高效。 XML的处理则可借助.NET Framework的内置`System.Xml`命名空间。`XmlDocument`类用于加载、解析和操作XML文档。可以使用`XmlNodeReader`或`XDocument`(Linq to XML)来读取...

    mysql的dml操作.docx

    大批量插入时,可以使用`LOAD DATA INFILE`命令,将数据从文件快速导入到表中。 2. **删除数据(Delete)**: 删除表中的数据使用`DELETE FROM`语句,可以指定删除满足特定条件的记录。例如: ```sql DELETE ...

    php导入大量数据到mysql性能优化技巧

    正确的使用索引可以加快查询速度,但在进行大批量数据插入时,过多的索引可能成为性能瓶颈。因此,分析数据的读写比例,适当地创建和删除索引是一个值得考虑的策略。 9. **使用专用的数据导入工具**: 当数据量...

    高性能数据访问操作示例+Z.Dapper.Plus+免费

    在IT行业中,高效的数据访问是系统性能的关键因素之一。Z.Dapper.Plus是针对.NET平台的一个高性能、轻量级的数据访问扩展库,它基于Dapper,增强了批量操作、缓存和事务管理等功能,使得数据库交互更为便捷且高效。...

    116 案例实战:千万级数据删除导致的慢查询优化实践(1).pdf

    要解决此类慢查询问题,需要结合MySQL的性能调优知识,比如合理安排离线任务的执行时间,避免在业务高峰期间对数据库进行大批量的数据写入操作。在实际操作中,可以将这类高负载操作放在系统负载较低的时段,比如...

    MySQL闪回(flashback)原理与实战

    在实际案例中,比如小明误删除了大批线上用户表的数据,这时就可以通过MySQL闪回技术迅速解决问题。DBA不需要重建实例,也不用应用去除错误SQL后的binlog来恢复数据,更不必停机进行维护。通过闪回操作,可以在短短...

    基于ssm+mysql图书仓储管理系统源码数据库论文.docx

    大批量的书籍出现在市场上,人们有了各种各样的选择,与此同时,为了管理大量的图书,仓储的管理问题也就提上了日程,随着图书的大量增加,其管理难度也越来越大,如何优化仓储的日常管理也就成为了一个大众化的课题...

    mysql delete limit 使用方法详解

    在执行大批量删除时,可以分批删除,每次使用`LIMIT`指定较小的数量,这样可以避免因一次性删除太多数据导致的长时间锁定表或服务器资源压力过大。 4. **容错性:** 在不确定删除影响范围时,使用`LIMIT`可以进行...

Global site tag (gtag.js) - Google Analytics