访问db_link的表好慢,有什么优化的设置或方法没? rt 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果是存储过程的话,可以参考使用DBlink有两种:1.创建引用远程表的本地过程2.创建本地应用程序调用的远程过程我们在选择的时候重点就放在最小化必须通过网络发送以解决数据请求的数据量。驻留改过程的数据库应该包含在过程操作期间使用的大部分数据。例如:create or replace procedure procedureName()asbegin select * into xxx from tableName@xxxx;end;去掉存储过程里的@xxxx然后在本地调用远程过程execute procedureName@xxxx这样驻留数据的数据库执行了过程的所有处理。远程过程调用就最小化了完成过程处理所必须的网络流量数。 那如何我这个存储过程里用到了本地和远程的数据库中的表的话,使用execute procedureName@xxxx这种形式的肯定就不行了吧。 肯定不行的。你可以对dblink访问的表,增加管道。如:select /*+parallel(a,20)*/ * from xx.sss@ddd a;--这样查询速度会快很多。 oracle多表sql树查询 表数据txt格式导出? 如何将原有oracle数据库导入到unix系统中的数据库中? 遇到了两个问题,路过的帮下忙,谢谢 oracle 9i 如何设置最小访问权限 如何在存储过程执行中,利用dbms_output.put_line输出值? plsql语句可不可以向表中插入指定范围的数据? 请教一个SQL语句的写法 imp没响应,sqlplus也报错,求救!!! 依旧是ORACLE乱码问题,这个跟别的乱码不同,很怪异 这个sql如何写? 关于触发器请教
使用DBlink有两种:
1.创建引用远程表的本地过程
2.创建本地应用程序调用的远程过程
我们在选择的时候重点就放在最小化必须通过网络发送以解决数据请求的数据量。
驻留改过程的数据库应该包含在过程操作期间使用的大部分数据。
例如:
create or replace procedure procedureName()
as
begin
select * into xxx from tableName@xxxx;
end;
去掉存储过程里的@xxxx
然后在本地调用远程过程
execute procedureName@xxxx
这样驻留数据的数据库执行了过程的所有处理。远程过程调用就最小化了完成过程处理所必须的网络流量数。
这种形式的肯定就不行了吧。
肯定不行的。你可以对dblink访问的表,增加管道。
如:
select /*+parallel(a,20)*/ * from xx.sss@ddd a;--这样查询速度会快很多。