数据库oracle的夸跨库连接怎么弄,要注意什么?
答案:2 悬赏:70 手机版
解决时间 2021-02-18 08:06
- 提问者网友:不爱我么
- 2021-02-17 15:23
数据库oracle的夸跨库连接怎么弄,要注意什么?
最佳答案
- 五星知识达人网友:佘樂
- 2021-02-17 16:58
分布式查询可能一条SQL语句中有不同远程库的表,相关概念lz可以网上查找,使用时注意下面几点。
使用collocated内联视图—也就是sql要对引用不同远程库的表,要组织好,将相同库的表放一起组织成内联视图,这样oracle就很容易知道这个内联视图里的表是在同一远程库作完查询
后再返回给本地库,这样减少了本地库与远程库的交互次数和传输结果集的数量和次数。
了解cbo优化器对分布式查询的处理(cbo也是尽量转为collocated内联视图),它可能是不高效的,这时候得用其他的方法,比如使用HINT,改造SQL,改造分布式查询的方法(远程库用视图)等
使用hint,特别是driving_site hint(如:parallel,use_hash,full等,它能指定执行计划在远程还是本地做),特别是本地小结果集,远程大结果集的时候,总体结果集较小,希望计划在远程驱动,这样远程执行完毕,将结果集传输到本地,这样避免大结果集的传输。
lz还要学会看执行计划,这很重要,有问题再追问。
追问非常感谢,也谢谢下面的知友。
使用collocated内联视图—也就是sql要对引用不同远程库的表,要组织好,将相同库的表放一起组织成内联视图,这样oracle就很容易知道这个内联视图里的表是在同一远程库作完查询
后再返回给本地库,这样减少了本地库与远程库的交互次数和传输结果集的数量和次数。
了解cbo优化器对分布式查询的处理(cbo也是尽量转为collocated内联视图),它可能是不高效的,这时候得用其他的方法,比如使用HINT,改造SQL,改造分布式查询的方法(远程库用视图)等
使用hint,特别是driving_site hint(如:parallel,use_hash,full等,它能指定执行计划在远程还是本地做),特别是本地小结果集,远程大结果集的时候,总体结果集较小,希望计划在远程驱动,这样远程执行完毕,将结果集传输到本地,这样避免大结果集的传输。
lz还要学会看执行计划,这很重要,有问题再追问。
追问非常感谢,也谢谢下面的知友。
全部回答
- 1楼网友:孤独的牧羊人
- 2021-02-17 18:29
连接的还是Oracle吗,用database link 就可以了,你查一下相关知识;要注意的是,是从一个服务器连接到另一个服务器,与客户端没有关系。
如果是连接其他类型的数据库,那么你需要研究一下Oracle 的Getway,这个我也不熟悉,帮不了你,你可以自己查资料。追问我要实现分布式的查询,但是效率不高,有什么需要注意的么追答只能给出一个建议,就是尽量用明确的条件进行查询,保证网络传输数据量尽可能小。
该加的索引都加上。
其他 就没有什么了、
如果是连接其他类型的数据库,那么你需要研究一下Oracle 的Getway,这个我也不熟悉,帮不了你,你可以自己查资料。追问我要实现分布式的查询,但是效率不高,有什么需要注意的么追答只能给出一个建议,就是尽量用明确的条件进行查询,保证网络传输数据量尽可能小。
该加的索引都加上。
其他 就没有什么了、
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯