ORACLE中,如何提高SQL的INSERT和DELETE的效率

liqy17 liqy17 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
各位大侠,
我有一个Oracle中SQL语句的效率问题,问题描述如下:
当前库:A 备份库:B
在A库上执行如下语句:
EXEC SQL insert into table1_bak select * from table1 where date <= :date;
EXEC SQL delete from table1 where date <= :date;
其中:table1是A库中的表,有5万条当日的流水记录;
table1_bak是B库的表,通过DB Link的同义词映射到A库上,保存着所有的流水记录,表大小为15G,估计有几千万条记录。

该语句的目的就是\把当天的流水记录备份到历史记录中,然后清表。

这样的两条语句执行下来需要大约20分钟,太慢了。

这种类似的操作很多,一个完整的批处理流程走下来需要2个小时。

哪位专家有优化的方法?可以优化上述的语句或优化表?
...全文
评论 12
收藏 已收藏
分享
返回顶部
liqy17
Oracle 17,133 成员 55,258 内容