0 0

一次删除成千上万条数据,你会怎么处理?5

批量删除的时候,不管是用任何数据库,当要删除的数据量巨大时,都是一个比较棘手的问题。
当然,一般的需求不会涉及到这一点,但是假设遇到这种情况,大家会怎么处理?
我目前想到的是在存储过程中实现,分批分段执行删除。
2013年6月26日 09:24

11个答案 按时间排序 按投票排序

0 0

不管何种删除方案,备份是必须的……

2013年6月28日 16:46
0 0

写日志,日志里后台慢慢处理。

2013年6月28日 11:05
0 0

做删除标记。具体什么时候删除,可以选择回收站手工清空,也可以定义1个月后后台自动删除。
如果条件复杂,不能使用索引,可以在前台做异步,保证相应时间

2013年6月27日 11:21
0 0

建个新表.
确定删除条件后
使用insert into ....  where not 条件.向新表中插入.
然后 旧表改名.新表改名.

2013年6月27日 10:35
0 0

十万条左右的一般都是没啥问题的。工作环境下删除前最好先备份,然后对删除的动作最好先select确认,看条件是否正确。如果是以亿为单位的数据最好备份确认外,要放到空闲时间来删除。对业务数据的操作必须小心谨慎。

2013年6月26日 23:58
0 0

先备份。。此条正解。

2013年6月26日 18:04
0 0

这个容易

delete from table where ... limit N

limit N 是关键点

2013年6月26日 17:55
0 0

楼主说的数据量是多大? 我建议 做逻辑删除,然后再晚上的时候 做物理删除

2013年6月26日 11:28
0 0

还有个缓和些的办法,就是做逻辑删除,先把要删除的数据使用批量修改功能打上删除标记,然后等到夜里服务器不忙的时候再做物理删除。

楼上讲的办法也很常用的,但是要求剩下的数据比较少,否则资源消耗一样很大的。

2013年6月26日 11:02
0 0

传说中 有个 spring batch项目 不知道能不能干这个

2013年6月26日 10:22
0 0

看按照什么条件删除了,如果where条件走索引的话删除1w条记录完全没问题,如果数据量实在太大,尤其是占用表的数据超过剩余数据的话,建议先把要保留的数据用insert into ... select * from ... where ...移到另外的表中,然后truncate,然后在用上面的语句把数据copy过来,或者直接drop表,重新建表,再copy数据。

2013年6月26日 10:14

相关推荐

    帝国CMS批量王插件 强大的批量处理数据功能帝国CMS批量王插件 强大的批量处理数据功能

    批量处理数据在网站维护和内容更新中极为重要,尤其是在拥有成千上万条记录的大型网站中。帝国CMS批量王插件提供了以下主要特性: 1. **批量添加**:用户可以一次性上传大量数据,如文章、产品信息等,无需逐条录入...

    生物芯片数据处理和分析方法.pdf

    生物芯片技术是一种高通量的基因分析方法,它能够在一次实验中检测成千上万的基因表达水平,其应用领域包括但不限于生命科学、药物研发、临床疾病检测和诊断等。随着技术的进步和应用领域的扩展,生物芯片产生的数据...

    hibernate批量删除

    这种方法允许在一次数据库连接中执行多条SQL语句,极大地减少了网络延迟和提高了整体性能。以下是一个示例: ```java Transaction tx = session.beginTransaction(); Connection con = session.connection(); ...

    一个基于 vue 的 PC 端表格组件

    只渲染当前可视区域的行,极大地提高了性能,使得处理成千上万条数据变得轻松。 3. **虚拟树**:结合虚拟列表的概念,vxe-table还支持虚拟树结构,即使在树形数据中也能保持流畅的用户体验。 4. **懒加载**:对于...

    combobox模糊查询在IE中崩溃

    然而,当这个组件需要处理成千上万条数据时,尤其是在IE这种对内存管理和性能优化相对较弱的浏览器中,可能会引发性能问题。 首先,我们需要了解为什么大数据量会导致浏览器崩溃。在IE中,一次性加载大量DOM元素会...

    Hibernate

    ### Hibernate批量数据处理详解 在IT领域,尤其是企业级应用开发中,Hibernate作为一款流行的ORM(Object Relational Mapping)框架,被广泛应用于Java应用程序中,用于简化数据持久化层的开发工作。然而,当涉及到...

    批量删除注解工具

    6. **批量处理**:一次处理多个文件,提高效率。 DL.exe可能是这个工具的可执行文件,用户只需运行它,按照界面提示操作即可。使用时需谨慎,因为删除注解可能影响到代码的编译或运行,特别是在依赖注解进行某些...

    教务管理系统

    在这个实训项目中,你将学习到如何利用SQL来设计、操作和管理数据库,这对于在校学生来说是一次宝贵的实践机会。 首先,SQL的基础知识包括数据查询、数据插入、更新和删除。在教务管理系统中,你可以使用SELECT语句...

    hdfs,hbase命令原理介绍

    4. **支持大数据处理**:HDFS 能够处理 GB、TB 乃至 PB 级别的数据,并且支持成千上万个文件的同时存储。 #### HDFS 的劣势 1. **小文件存储**:对于非常小的文件(小于 HDFS 默认的 block 大小,默认为 128MB),...

    Bulk Rename Utility.zip

    用户可以根据特定规则一次性修改多个文件的名称,例如,可以基于文件的元数据(如创建日期、大小或EXIF信息),添加序列号,替换或删除文本,甚至根据文件内容进行重命名。这对于整理个人文件库、处理航测内业数据...

    批量导入excel

    2. **批量操作**:批量导入是指一次性处理多个Excel文件,而不是逐一操作。这在数据量大时能显著提高工作效率。例如,一个商城可能需要定期更新成千上万的商品信息,批量导入功能就能快速更新库存、价格等信息。 3....

    dojo 在线操作表格

    8. **性能优化**:Dojo Grid通过虚拟滚动技术优化大规模数据的渲染,即使在处理成千上万条记录时也能保持流畅的用户体验。 9. **键盘导航**:Grid提供完整的键盘导航支持,使得用户可以通过键盘操作表格,提升无...

    HDFS资料整理

    HDFS的设计理念是通过简单的数据一致性模型来实现高容错性,它适合于一次写入多次读取的数据访问模式。 #### 二、HDFS的核心特性 1. **高容错性**:HDFS通过将数据块复制到多个节点上来实现高可用性和容错性。 2. *...

    Salesforce Data Loader Guide

    对于需要大规模更新数据的情况,Data Loader 提供了专门的功能,允许用户一次性更新大量记录。 ##### 执行大规模删除 类似地,对于大规模删除操作,Data Loader 也提供了高效的支持。 ##### 上传附件 Data ...

    MSXML_XML.rar_DOM_msxml

    当使用MSXML的DOM解析器处理XML文档时,整个文档会被一次性加载到内存中,构建一个内存中的树形结构。每个元素、属性、文本节点等都会成为这个树中的一个节点。这种方式方便了对XML数据的操作,如查找、修改、添加或...

    04:HDFS分布式文件系统.zip

    每个文件块会复制多次,存储在不同的DataNode上,以提高容错性和可用性。复制因子通常设定为3,这意味着每个文件块有三个副本。 三、读写流程 当客户端需要读取文件时,它首先与NameNode通信获取文件块的位置信息...

    windows常用的api函数

    6. WNetCloseEnum:结束一次枚举操作。 7. WNetConnectionDialog:启动一个标准对话框,以便建立同网络资源的连接。 8. WNetDisconnectDialog:启动一个标准对话框,以便断开同网络资源的连接。 9. WNetEnumResource...

    Hadoop基础面试题(附答案)

    - **适用于大规模数据处理**:特别适合处理PB级别的海量离线数据。 #### 二十九、MapReduce的限制 - **不适合实时处理**:MapReduce不适合需要低延迟响应的实时应用。 - **不适合流式处理**:流式处理需要持续不断...

    Virtual TreeView最新示例

    这使得程序能够根据实际需要加载数据,而不是一次性加载整个数据集。 **性能优化** 由于Virtual TreeView的虚拟化机制,即使在低性能的硬件上,也能提供流畅的用户体验。通过合理的数据结构设计和高效的算法,可以...

Global site tag (gtag.js) - Google Analytics