1 0

如何快速删除100W数据0

大家好 我想请问下怎么快速有效的删除百万数据,情况是这样的,表A每天都会以80W左右的数据量增加,但只需要保存7天内的,7天以前的可以直接干掉,就等于说要从这几百万的数据中删除最早哪天的,大家有什么好的解决方案???,

我试过只删除一个小时的数据也很慢
数据库Sybase,有索引

问题补充:此表目前做插入的频率很高,后台都在以每小时3-4万的数据量增长,通过BCP命令不断往里面插数据

问题补充:系统访问此表是通过代理表访问的,7天之内的数据都会用到,建分表的话,索引就废了

问题补充:我试过每次删掉一个小时的数据,大概有3-4w左右,也要3-5分钟,感觉还是慢了点,跪求更快的方法
 
2012年6月06日 15:30

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

3 0

按天分表,然后truncate.
delete速度很慢的!

2012年6月07日 10:17
1 0

做一个定时任务,每天运行一次,每次删除 时间为7天前的所有数据。

我现在的时间序列数据 就是这么干的。

2012年6月07日 03:52
1 0

这种应该分表了,按日期分表

起码做分区表

2012年6月06日 21:45
0 0

create procedure delete_me
    @delete_sql  varchar(5000),
    @row_count   int
as
begin
declare @rc varchar(19)
select @rc=convert(varchar,@row_count)
    print  @delete_sql
    print  @rc

set rowcount @row_count
begin tran
exec(@delete_sql)

while ( @@rowcount !=0 )
begin
commit tran
begin tran
exec(@delete_sql)
    end
    commit tran
    set rowcount 0
end

go

--删5000条,commit一次
exec delete_me "delete from A where START_TIME < dateadd(dy,-7,getdate()) ",5000

你可以试一下,我用这个删过800w左右的数据,速度还可以

2012年6月08日 10:54
0 0

查询七天的你也可以从文件里面查啊

2012年6月08日 09:16
0 0

不要删除,直接用新的数据覆盖老的数据。
这么做有一点需要注意,不要用id列作任何所以和排序之类的功能。

2012年6月08日 07:45
0 0

按时间分区,直接truncate

可以成个定时任务,定时清理

2012年6月07日 19:33
0 0

做个任务,每次删5万,一会就完了

2012年6月07日 17:18
0 0

先清空表就可以了.其实删除慢也对你没影响,只要你上一周的数据有上一周的标识你不删也不会混乱.

2012年6月07日 15:52
0 0

建立分区,用truncate,
当数据量很大时,删除了很多,再删除是相当的慢的

2012年6月07日 14:14
0 0

建个JOB 凌晨自动跑就好了
按天分表?这么蛋疼的回答都有

2012年6月07日 13:18
0 0

增加一个标记, 这个标记用来标识这个数据是否被删除, 然后开一个后台进程, 明白了吧

目前我想到这是最快的

2012年6月07日 10:36
0 0

分表分区是不错,不过以你现在这个数据量,不做也无所谓的。
删除的时候分批删,不断地commit,用存储过程有时候比直接sql语句delete要快

2012年6月07日 10:26
0 0

1.建立定时任务
2.找到第N-7天开始删除,执行delete from tbl where date='N-7'
3.直到删除到库中最小时间点为止(关于最小时间点,非常容易根据定时任务得出,不用去数据库min(date))

因为date有索引,执行精确的delete语句很快,而且任务是每天定时执行的

2012年6月07日 09:39
0 0

这种在数据库中只存在几天的数据为什么不保存到文件中呢?一般短期数据不适合存在数据库中的

2012年6月07日 09:16
0 0

楼上都是正解!
至于怎么做 需要参考具体情况!

2012年6月07日 09:13
0 0

最好的办法就是采用分区,设定达到多少量时,自动新建分区,job定时删除过期的分区,这样可以避免高水位问题,而且不影响业务

2012年6月07日 08:50
0 0

最佳方案也许是
1创建新表 把最近7天的数据拷贝进去,

2删除旧表

3重命名新表为旧表。

如果你仅仅删除旧的数据,
1 速度很慢。
2 表的物理空间不多增长, 留下很多 “空洞”
3 删除数据后要重建 索引, 统计数据等。

2012年6月07日 05:26
0 0

建议采用数据表水平拆分的方法,将数据分布在7张表上,每天一张表。到第7天的时候把第一张表直接drop 掉重建即可,速度非常之快。

2012年6月06日 23:00
0 0

可以在程序里开多线程,开5-10线程,把数据分配给线程删除或者数据库触发器删除

2012年6月06日 21:34
0 0

我之前也做过一个类似的,要求删除今天前的所有余票信息,也有索引。
我是这样实现的,写了一个java工程,用spring的quartz定时任务,在晚上的时候去删数据。
你这种情况的话,有没有试过写一个存储过程,先把索引解开,删除数据完毕后再将索引加上去,然后定时去执行这个存储过程。
希望对你有帮助

2012年6月06日 18:22
0 1

砸硬派~~~

2012年6月07日 19:34

相关推荐

    LRW数据集申请表,可以自己试试看,免费获取,关注我有更多惊喜

    在此背景下,【LRW数据集】应运而生,为学术界和工业界提供了一个不可多得的研究平台。 【LRW数据集】全称为“Lip Reading in the Wild - Words”,是由英国广播公司(BBC)于2020年发布的大型唇语识别数据集。它...

    C#winform百万数据瞬间加载-分页控件源码

    委托可以用于实现动态的数据修改、添加和删除,例如,在表格控件中实时响应用户的操作。 5. **大数据分页控件**:这是核心功能,通过将大数据集分割成小块(页),只加载当前显示的数据,提高程序性能。这需要设计...

    u盘文件恢复大师咋样恢复丢失删除的文件呢-迅捷数据恢复软件

    - 软件无法保证100%恢复所有数据,因此预防数据丢失比恢复更为重要。 通过以上步骤,你就可以利用迅捷数据恢复软件尝试找回丢失的U盘文件了。不过,数据安全始终是第一位,所以平时养成良好的数据管理习惯,定期...

    45-MySQL单表2000万数据查询慢解决方案1

    `删除第一个分区,分区内的数据也将被删除。 新建分区 我们可以使用命令`alter table tuser add partition (partition p3 values less than (TO_DAYS('2017-09-27')));`新建一个分区,注意红色粗体,我们新建的分区...

    python工具-excel批量导入mysql (几千万数据半小时可搞定)

    1. **预处理数据**:在导入前清洗和转换数据,删除无效或重复的行,避免无效数据占用资源。 2. **创建索引**:对数据库表的主键或频繁查询的列创建索引,提升查询速度。 3. **优化数据库配置**:增加内存分配,调整...

    数据结构算法演示w.rar

    哈希表提供快速的查找、插入和删除操作,通过键值对存储数据,适用于大量数据的查找需求。 接下来是算法,算法是解决问题的具体步骤,数据结构是算法的载体。排序算法(如冒泡排序、插入排序、选择排序、快速排序、...

    字典去重复1E1000W数据只需30S左右-极小内存占用.rar

    这个压缩包包含了一个可执行文件"去重复1E1000W数据只需30S左右 极小内存占用.exe"以及一个名为"1.gif"的图像文件,可能是一个示例或说明图。 在IT领域,处理大规模数据去重是一个常见的问题,尤其是在大数据分析和...

    有标记的情感数据近40w条

    标题中的“有标记的情感数据近40w条”表明该数据集包含大量的已分类文本,这些文本已被人工标注为正面或负面情绪,便于机器学习算法进行学习和训练。这40万条数据可以分为两个部分,分别存储在两个文件中。 描述中...

    快速删除Word中多余的空行.docx

    ### 快速删除Word文档中多余的空行方法详解 #### 一、背景介绍 在处理大量文本时,经常需要从互联网下载文档并将其整合到Word文档中。然而,下载的文档常常包含许多不必要的空行或者格式问题,这些多余的空间不仅...

    3.5W 字详解 Java 数据结构.pdf

    Java 数据结构是编程基础的重要组成部分,对于任何Java开发者来说,理解和掌握各种数据结构至关重要。...通过本文3.5W字的详细解析,相信读者能够对Java数据结构有更深入的理解,为自己的编程实践奠定坚实基础。

    数据结构(严蔚敏版) 光盘资料

    - **学习算法设计**:学习插入、删除、查找等基本操作的算法,如排序算法(冒泡、快速、归并等)和搜索算法(深度优先、广度优先)。 - **实践编程技巧**:通过实际编写和调试代码,提升编程能力,熟悉不同编程语言...

    ACAD—GIS地理数据入库流程教程

    - 使用快捷键如8连线、Ctrl+W打断、A加点等进行操作,确保数据的连续性。 5. **陡坎处理**: - 识别和处理加固和未加固的陡坎,使用快速换码工具改变编码,保持方向一致。 - 节点抽稀和断线连接确保地形数据的...

    krangl,k rangl是一种用于数据w{rangl}ing的{k}otlin dsl.zip

    例如,你可以快速计算每个分类下的销售额总和,或者找出某个特征的最大值。此外,krangl还支持数据重塑,如透视表的生成,这对于数据分析报告的准备非常有用。 除了基本的数据操作,krangl还提供了一些高级特性。...

    《数据结构C语言版》中国铁道出版社_源代码.rar

    - 排序是将一组数据按照特定顺序排列的过程,常见的排序算法有冒泡排序、选择排序、插入排序、快速排序、归并排序等。C语言实现这些排序算法,需要理解其核心逻辑并优化效率。 5. **哈希表** (Ch9) - 哈希表通过...

    毕业论文外文文献-数据仓库

    许多组织发现,数据仓库系统在当前竞争激烈、快速发展的世界中是宝贵的工具。近年来,很多公司投入了数百万美元建设企业级的数据仓库。随着各行业的竞争加剧,人们认为数据仓库已经成为最新的必备营销策略,通过深入...

    十套数据结构模拟题1

    数据项是数据的最小组成,数据类型定义了数据的性质和操作,数据元素是数据结构中的单一元素,而数据变量则是数据元素在程序中的表现形式。 2. **线性结构与非线性结构**:线性结构如数组、线性表、栈和队列,它们...

    数据结构试题及答案1

    - 链表:当线性表需要频繁进行插入和删除操作时,选择链表作为数据结构更为合适,因为链表不需要像数组那样预先分配连续的内存空间,插入和删除操作只需要改变节点的链接关系,时间复杂度通常为O(1)。 2. **栈的...

    数据结构算法演示系统

    在数据结构中,常见的算法有排序(如冒泡排序、选择排序、插入排序、快速排序、归并排序)、查找(如线性查找、二分查找)、图遍历(如深度优先搜索、广度优先搜索)等。DSDemo可能提供了这些算法的动态演示,帮助...

    HW云数据管理服务DAS介绍.pptx

    1. 极速恢复数据:DAS支持数据意外删除后的快速恢复。在发生误删事件时,系统能够立即定位删除内容,生成恢复语句,一键回滚,确保数据的及时恢复,避免因数据丢失造成的企业损失。 2. SQL智能提示与自动格式化:...

    08_删除策略.pdf

    惰性删除策略则是对过期时间到达的数据不做立即处理,而是等到下次访问该数据时才检查其是否过期。如果未过期,就返回数据;如果过期了,则删除该数据并返回不存在的信息。惰性删除的优点是节约CPU性能,只有在需要...

Global site tag (gtag.js) - Google Analytics