1、案例说明
在Oracle数据库中,对于大表,大数据量的增量抽取一般抽取效率都是比较低,可以考虑使用批量提取游标,批量插入数据。从而减少PL/SQL引擎和SQL引擎之间的交互,提高数据抽取效率。
2、环境准备
目标表:DWD_TGT_TAB_D
源表:ODS_SOURCE_TABLE
3、存过实现
CREATE OR REPLACE PROCEDURE SP_BAT_DWD_TGT_TAB_D(P_START_DATE DATE,
P_END_DATE DATE) AS
/* ================================================================================= *\
*
* 名称: 批量数据加载
* 参数:
* 描述:1:防止重复数据导入,先删除
2:根据相应条件插入对应起始日期到结束日期的数据
3:该存储过程删除数据采用分区TRUNCATE
* 修改日志:
\* ================================================================================= */
V_PARTNAME VARCHAR2(200); --分区名称
V_SQL_TRUNCATE VARCHAR2(2000); --删除表分区数据脚本
V_TBL VA
针对Oracle数据库中大数据量的增量抽取问题,本文提出了一种优化方案:通过批量提取游标和批量插入数据,降低PL/SQL引擎与SQL引擎的交互次数,以显著提高数据仓库ETL过程的效率。
订阅专栏 解锁全文
327

被折叠的 条评论
为什么被折叠?



