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;
, 'select count(*) from tab1 where date_id = 20130108');
nr := );
, 1, res);
dbms_hs_passthrough.close_cursor@gp(c);
dbms_output.put_line(res);
end;
c int;
nr int;
res int;
begin
c := dbms_hs_passthrough.open_cursor@gp3;
, 'select count(*) from tab1 where date_id = 20130108');
nr := );
, 1, res);
dbms_hs_passthrough.close_cursor@gp(c);
dbms_output.put_line(res);
end;
執行只需要2秒而已
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16582684/viewspace-752507/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Spring Cloud Gateway 限流操作SpringCloudGateway
- mysql (ICP) 索引條件下推對比ORACLE進行說明MySql索引Oracle
- Oracle Transparent GateWay connect to MYSQL fix BUGOracleGatewayMySql
- Mysql:好好的索引,為什麼要下推?MySql索引
- Spark聚合下推思路以及demoSpark
- 效能優化:索引下推優化索引
- Oracle的move操作Oracle
- MySQL索引條件下推的簡單測試MySql索引
- MySql索引下推知識分享MySql索引
- gatewayGateway
- Oracle Transparent Gateway for SQL Server安裝配置說明OracleGatewaySQLServer
- 使用oracle Transparent gateway 連線 sybase 資料庫OracleGateway資料庫
- oracle transparent gateway 10g配置注意事項OracleGateway
- oracle中Job的操作Oracle
- KunlunDB查詢優化(三)排序下推優化排序
- 五分鐘搞懂MySQL索引下推MySql索引
- gateway配置Gateway
- gateway predicateGateway
- gateway filterGatewayFilter
- Oracle SQL對錶的操作OracleSQL
- Oracle 表空間 的操作Oracle
- Oracle中的LOB操作(轉)Oracle
- Oracle的並行操作[轉]Oracle並行
- Oracle 審計的初步操作Oracle
- oracle中的檔案操作Oracle
- Oracle透過gateway連線sqlserver2008OracleGatewaySQLServer
- 使用Oracle gateway連線GP時編譯plsql包太慢OracleGateway編譯SQL
- oracle 11g gateway 連線sql server 2000OracleGatewaySQLServer
- oracle11g gateway for sql server2005配置OracleGatewaySQLServer
- Oracle 集合操作Oracle
- Servlet操作OracleServletOracle
- oracle基本操作Oracle
- oracle索引操作Oracle索引
- Oracle列操作Oracle
- ORACLE批量操作Oracle
- oracle 表操作Oracle
- Gateway(閘道器)的概述Gateway
- freeswitch的gateway配置方案Gateway