删除上亿级别时,注意回滚表空间

本文介绍了一种在处理几亿条记录的表时遇到的空间管理问题。由于直接使用DELETE语句会导致回滚表空间占用大量资源,作者采取了创建临时表来存储所需数据,然后清空原始表并重新插入所需数据的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这次在做CSOM的masking的时候(级别低啊,只能做些简单的体力活,郁闷,要努力!)

遇到一个table,有几亿条record,import的过程中,报错:buffer超过,后来是statistics(pls refer the pervious note )

---------------------------------------

table的version date is from 20070331---20140331(monthly job),  I  just needed the lastest version date data,

should delete from the data ver_dte<to_date('20140301','yyyymmdd'),

But,  at this time, 回滚表空间的问题出来了!!!

几亿条record,占据大量的空间, delete from是完全行不通。。。 一个月一个月的删,超级慢。。

so I asked for 度娘,佢said I can create a new temp table which store the data I needed from the source table .

then truncate the source table ....

 

insert into source_table

select * from temp_table

 

Done !

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值