数据库db1上有表tb1,tb2我在数据库db2上创建db1的数据链,并在db2上执行语句
select * from tb1@db1 a, tb2@db2 b where a.id = b.id请问该查询用到的排序资源是db1的还是db2????注oracle9i
select * from tb1@db1 a, tb2@db2 b where a.id = b.id请问该查询用到的排序资源是db1的还是db2????注oracle9i
解决方案 »
- oracle物化视图失效问题
- 安装Oracle10g时出现“createfile error 32 when trying set file time”
- 怎么用oracle实现成绩排序
- Oracle真他烂, 真他妈难用,相对SQL Server来说易用性千分之一都不如
- 请教在ORACLE9内的OMS内的数据库备份问题????
- 一个简单的SQL,快来抢分啊
- 将图片文件从 Oracle blob读出 的存储过程
- 关于ORACLE存储过程的返回值问题..
- 书上说oracel9i里有个DBA Studio,在哪里打开阿?我只找到Enterprise Manager Console
- Pro*C 在哪里安装。
- 紧急求助。。。,Long Raw类型 转换问题
- 如何实现这样特殊的子查询
你可以试试,执行前
db1,db2: select * from v$sort_segment
执行后再对比.
select * from tb1@db1 a, tb2@db1 b, dual c where a.id = b.id
这样oracle就会把关联和排序操作拿到本机执行(搞定)其他情况可以使用hint搞定
如果:select * from tb1@db1 a, tb2@db2 b where a.id = b.id(注意这两张表是属于不用的数据库)
1. 想让该语句在db1上执行可以使用:
select /*+ driving_site(a) */* from tb1@db1 a, tb2@db2 b where a.id = b.id
2. 同样想让该语句在db2上执行可以使用:
select /*+ driving_site(b) */* from tb1@db1 a, tb2@db2 b where a.id = b.id来庆祝一下,^_^