1. 首页
  2. IT资讯

Oracle gateway的下推操作–dbms_hs_passthrough

环境: CentOS 5.7 64bit, Oracle 11gR2, Greenplum Database 4.2.1.0, Oracle gateway 11g
场景:greenplum内有个表大概50多万条数据,通过dblink汇总此表需要1分钟的时候(语句:select count(*) from tab1 where “date_id” = 20130108),其中过程推测是—-解析sql成gp可以执行的语句,将50万数据传输到Oracle database服务器(通过sar -n dev 1 100可知),再到oracle database汇总数据。这也是造成查询奇慢的原因。
解决方法:Oracle gateway有个包dbms_hs_passthrough,它将语句直接推送到异构数据库内执行,然后把执行的结果通过gateway传输到oracle database展现。
例:
declare c int; nr int; res int;begin c := dbms_hs_passthrough.open_cursor@gp3; dbms_hs_passthrough.parse@gp(c, ‘select count(*) from tab1 where date_id = 20130108’); nr := dbms_hs_passthrough.fetch_row@gp(c); dbms_hs_passthrough.get_value@gp(c, 1, res); dbms_hs_passthrough.close_cursor@gp(c); dbms_output.put_line(res);end;
执行只需要2秒而已

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/16582684/viewspace-752507/,如需转载,请注明出处,否则将追究法律责任。

主题测试文章,只做测试使用。发布者:布吉卡,转转请注明出处:http://www.cxybcw.com/193317.html

联系我们

13687733322

在线咨询:点击这里给我发消息

邮件:1877088071@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

QR code