Oracle的pipelined函数实现高性能大数据处理

2014-11-24 18:33:13 · 作者: · 浏览: 0

在plsql开发中,会涉及到一些大数据量表的数据处理,如将某记录数超亿的表的记录经过处理转换插入到另外一张或几张表。


在实际项目中,管道函数会和表函数、数据流函数(即表函数和CURSOR结合)、数据集合、并行度一起使用,达到大数据处理的性能顶峰。


下面是一个例子,将表t_ss_normal的记录插入到表t_target中,插入过程中有部分转换操作。


我分成四个方法来实现这个数据处理操作。


第一个方法,也是最常规的方法,代码如下:


这是源表和目标表的表结构。现在源表有200W条,其数据来自dba_objects视图。


一个insert into select语句搞定这个数据处理,简单。