oracle实现大批量更新操作

针对10亿级别的A表,每天需要根据千万级别的B表主键进行字段更新。为解决更新瓶颈,提出一种解决方案:利用Oracle分区表特性,结合create job权限,通过创建中间表、插入模拟数据和封装更新功能的包来执行批量更新操作。
摘要由CSDN通过智能技术生成

背景: A表有将近10亿数据,现每天需要根据B表主键更新B表 字段属性于A表中,B表数据量也在千万级别。更新遇到了瓶颈,故设计了以下更新方案。

以下是实现该方案之一:

 前提:A表必须为分区表,且执行用户有create job 权限。

模拟业务场景:

1.创建A、B表和中间表:

-- A表
create table test_t1(id number,flag varchar2(10))
partition by range(id) 
(partition p1 values less than (5000000),
partition p2 values less than (10000000),
partition p3 values less than (15000000),
partition p4 values less than (20000000),
partition p5 values less than (25000000),
partition p6 values less than (30000000),
partition p7 values less than (35000000),
partition p8 values less than (40000000),
partition p9 values less than (45000000),
partition p10  values less than (50000000),
partition p11 values less than (55000000),
partition p12 values less than (60000000),
partition p13 values less than (65000000),
partition p14 values less than (70000000),
partition p15 values less than (75000000),
partitio
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值