原来抽取的方式是b库oci打包数据后将数据放到中间件本地磁盘,然后通过sqlldr方式加载到a库。sql如下:
select column_name1,function_name(column_name2) from table_name;
本sql是在b库执行。其中b库table_name有几千万行数据。
然后将这种方式改为dblink方式,sql中出现的表名和函数名都需要加dblink。a库执行sql如下:
insert into a.table_name
select column_name1,
function_name@dblink(column_name2) from b.table_name@dblink
这样会出现性能问题,每返回一行数据都要去b库去调用一次自定义函数,可以考虑将函数创建到本地。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。