-
如何快速删除100W数据0
大家好 我想请问下怎么快速有效的删除百万数据,情况是这样的,表A每天都会以80W左右的数据量增加,但只需要保存7天内的,7天以前的可以直接干掉,就等于说要从这几百万的数据中删除最早哪天的,大家有什么好的解决方案???,
我试过只删除一个小时的数据也很慢
数据库Sybase,有索引
问题补充:此表目前做插入的频率很高,后台都在以每小时3-4万的数据量增长,通过BCP命令不断往里面插数据
问题补充:系统访问此表是通过代理表访问的,7天之内的数据都会用到,建分表的话,索引就废了
问题补充:我试过每次删掉一个小时的数据,大概有3-4w左右,也要3-5分钟,感觉还是慢了点,跪求更快的方法2012年6月06日 15:30
22个答案 按时间排序 按投票排序
-
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
-
分表分区是不错,不过以你现在这个数据量,不做也无所谓的。
删除的时候分批删,不断地commit,用存储过程有时候比直接sql语句delete要快2012年6月07日 10:26
-
1.建立定时任务
2.找到第N-7天开始删除,执行delete from tbl where date='N-7'
3.直到删除到库中最小时间点为止(关于最小时间点,非常容易根据定时任务得出,不用去数据库min(date))
因为date有索引,执行精确的delete语句很快,而且任务是每天定时执行的2012年6月07日 09:39
-
最佳方案也许是
1创建新表 把最近7天的数据拷贝进去,
2删除旧表
3重命名新表为旧表。
如果你仅仅删除旧的数据,
1 速度很慢。
2 表的物理空间不多增长, 留下很多 “空洞”
3 删除数据后要重建 索引, 统计数据等。2012年6月07日 05:26
-
建议采用数据表水平拆分的方法,将数据分布在7张表上,每天一张表。到第7天的时候把第一张表直接drop 掉重建即可,速度非常之快。
2012年6月06日 23:00
-
我之前也做过一个类似的,要求删除今天前的所有余票信息,也有索引。
我是这样实现的,写了一个java工程,用spring的quartz定时任务,在晚上的时候去删数据。
你这种情况的话,有没有试过写一个存储过程,先把索引解开,删除数据完毕后再将索引加上去,然后定时去执行这个存储过程。
希望对你有帮助2012年6月06日 18:22
相关推荐
在此背景下,【LRW数据集】应运而生,为学术界和工业界提供了一个不可多得的研究平台。 【LRW数据集】全称为“Lip Reading in the Wild - Words”,是由英国广播公司(BBC)于2020年发布的大型唇语识别数据集。它...
委托可以用于实现动态的数据修改、添加和删除,例如,在表格控件中实时响应用户的操作。 5. **大数据分页控件**:这是核心功能,通过将大数据集分割成小块(页),只加载当前显示的数据,提高程序性能。这需要设计...
- 软件无法保证100%恢复所有数据,因此预防数据丢失比恢复更为重要。 通过以上步骤,你就可以利用迅捷数据恢复软件尝试找回丢失的U盘文件了。不过,数据安全始终是第一位,所以平时养成良好的数据管理习惯,定期...
`删除第一个分区,分区内的数据也将被删除。 新建分区 我们可以使用命令`alter table tuser add partition (partition p3 values less than (TO_DAYS('2017-09-27')));`新建一个分区,注意红色粗体,我们新建的分区...
1. **预处理数据**:在导入前清洗和转换数据,删除无效或重复的行,避免无效数据占用资源。 2. **创建索引**:对数据库表的主键或频繁查询的列创建索引,提升查询速度。 3. **优化数据库配置**:增加内存分配,调整...
哈希表提供快速的查找、插入和删除操作,通过键值对存储数据,适用于大量数据的查找需求。 接下来是算法,算法是解决问题的具体步骤,数据结构是算法的载体。排序算法(如冒泡排序、插入排序、选择排序、快速排序、...
这个压缩包包含了一个可执行文件"去重复1E1000W数据只需30S左右 极小内存占用.exe"以及一个名为"1.gif"的图像文件,可能是一个示例或说明图。 在IT领域,处理大规模数据去重是一个常见的问题,尤其是在大数据分析和...
标题中的“有标记的情感数据近40w条”表明该数据集包含大量的已分类文本,这些文本已被人工标注为正面或负面情绪,便于机器学习算法进行学习和训练。这40万条数据可以分为两个部分,分别存储在两个文件中。 描述中...
### 快速删除Word文档中多余的空行方法详解 #### 一、背景介绍 在处理大量文本时,经常需要从互联网下载文档并将其整合到Word文档中。然而,下载的文档常常包含许多不必要的空行或者格式问题,这些多余的空间不仅...
Java 数据结构是编程基础的重要组成部分,对于任何Java开发者来说,理解和掌握各种数据结构至关重要。...通过本文3.5W字的详细解析,相信读者能够对Java数据结构有更深入的理解,为自己的编程实践奠定坚实基础。
- **学习算法设计**:学习插入、删除、查找等基本操作的算法,如排序算法(冒泡、快速、归并等)和搜索算法(深度优先、广度优先)。 - **实践编程技巧**:通过实际编写和调试代码,提升编程能力,熟悉不同编程语言...
- 使用快捷键如8连线、Ctrl+W打断、A加点等进行操作,确保数据的连续性。 5. **陡坎处理**: - 识别和处理加固和未加固的陡坎,使用快速换码工具改变编码,保持方向一致。 - 节点抽稀和断线连接确保地形数据的...
例如,你可以快速计算每个分类下的销售额总和,或者找出某个特征的最大值。此外,krangl还支持数据重塑,如透视表的生成,这对于数据分析报告的准备非常有用。 除了基本的数据操作,krangl还提供了一些高级特性。...
- 排序是将一组数据按照特定顺序排列的过程,常见的排序算法有冒泡排序、选择排序、插入排序、快速排序、归并排序等。C语言实现这些排序算法,需要理解其核心逻辑并优化效率。 5. **哈希表** (Ch9) - 哈希表通过...
许多组织发现,数据仓库系统在当前竞争激烈、快速发展的世界中是宝贵的工具。近年来,很多公司投入了数百万美元建设企业级的数据仓库。随着各行业的竞争加剧,人们认为数据仓库已经成为最新的必备营销策略,通过深入...
数据项是数据的最小组成,数据类型定义了数据的性质和操作,数据元素是数据结构中的单一元素,而数据变量则是数据元素在程序中的表现形式。 2. **线性结构与非线性结构**:线性结构如数组、线性表、栈和队列,它们...
- 链表:当线性表需要频繁进行插入和删除操作时,选择链表作为数据结构更为合适,因为链表不需要像数组那样预先分配连续的内存空间,插入和删除操作只需要改变节点的链接关系,时间复杂度通常为O(1)。 2. **栈的...
在数据结构中,常见的算法有排序(如冒泡排序、选择排序、插入排序、快速排序、归并排序)、查找(如线性查找、二分查找)、图遍历(如深度优先搜索、广度优先搜索)等。DSDemo可能提供了这些算法的动态演示,帮助...
1. 极速恢复数据:DAS支持数据意外删除后的快速恢复。在发生误删事件时,系统能够立即定位删除内容,生成恢复语句,一键回滚,确保数据的及时恢复,避免因数据丢失造成的企业损失。 2. SQL智能提示与自动格式化:...
惰性删除策略则是对过期时间到达的数据不做立即处理,而是等到下次访问该数据时才检查其是否过期。如果未过期,就返回数据;如果过期了,则删除该数据并返回不存在的信息。惰性删除的优点是节约CPU性能,只有在需要...