- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
有关DBLINK的分布式SQL执行机制及优化方法
--丁俊
1.背景介绍
分布式查询语句对于远程对象的查询在远程库执行,在远程库可以执行的SQL语句会通过优化器的查询转换,执行的是转换后的语句,然后结果集返回到本地,再与本地表运算。当然,本地操作还是远程操作是相对的,我们可以通过driving_site hint改变主查询计划的执行位置,但是对DML,driving_site是失效的,另外对远程表也可以使用其他hint来控制执行计划。
2.优化目标
分布式查询语句中可能有不同远程库的表,优化分布式查询要达到3点目标:1.访问同一个远程库的次数要尽量少,也就是同一远程库的对象应该尽量转为一条SQL运算,一次运算,运算后将结果返回给本地库。
2.从远程库上返回到本地库的结果集要尽量小,只访问远程对象需要的字段,从而减少网络传输。
3.远程库上执行的语句的执行计划、远程库返回的结果与本地联合查询的计划应该比较高效。
如果能够达到以上3点,一般情况下,分布式查询的效率较高。
3.优化方法
优化分布式查询需要从以上3个方面着手。以下样例中,local_tab 7万多条,remote_big_tab百万条,remote_small_tab 7万多条。3.1.使用Collocated内联视图? 也就是说,SQL要引用不同远程库的表,需要组织好语句结构:将相同库的表放一起组成内联视图,这样ORACLE就很容易知道这个内联视图里的表是在同一远程库作完查询,然后再返回给本地库,这样减少了本地库与远程库的交互次数、传输结果集的数量和次数,从而提高效率。比如查询:
SELECT ?* FROM local_tab a?WHERE EXISTS?(SELECT ?1 FROM remote_big_tab@remote b,remote_small_tab@remote c?WHERE b.object_id=c.object_id AND a.object_type=b.object_type);执行计划----------------------------------------------------------Plan hash value:------------------------------------------------------------------------------------------------| Id ?| Operation ? ? ? ? ?| Name ? ? ?| Rows ?| Bytes | Cost (%CPU)| Time ? ? | Inst ? |IN-OUT|------------------------------------------------------------------------------------------------| ? 0 | SELECT STATEMENT ? | ? ? ? ? ? | 42747 | ?4508K| ?2152 ? (4)| 00:00:26 | ? ? ? ?| ? ? ?||* ?1 | ?HASH JOIN ? ? ? ? | ? ? ? ? ? | 42747 | ?4508K| ?2152 ? (4)| 00:00:26 | ? ? ? ?| ? ? ?|| ? 2 | ? VIEW ? ? ? ? ? ? | VW_SQ_1 ? | ? ?26 | ? 286 | ?1855 ? (4)| 00:00:23 | ? ? ? ?| ? ? ?|| ??3 | ? ?REMOTE???? ? ? ?| ? ? ? ? ? | ? ? ? | ? ? ? | ? ? ? ? ? ?| ? ? ? ? ?| REMOTE | R-S || ? 4 | ? TABLE ACCESS FULL| LOCAL_TAB | 73985 | ?7008K| ? 296 ? (1)| 00:00:04 | ? ? ? ?| ? ? ?|------------------------------------------------------------------------------------------------Predicate Information (identified by operation id):---------------------------------------------------? ?1 - access(A.OBJECT_TY
您可能关注的文档
最近下载
- 生物药剂学与药物动力学实验讲义电子版.pdf VIP
- 2024年社会工作者(中级)《社会工作实务》思维导图.pdf VIP
- 尼康(Nikon)AF-S NIKKOR 500mm f 5.6E PF ED VR 说明书用户手册.pdf VIP
- 中级社会工作考试《综合能力》思维导图.pdf VIP
- 2025年全国《考评员》资格证考试题库与答案.docx
- 施工设备进场报验单.docx VIP
- 西藏阿里地区事业单位招聘考试(职业能力倾向测验)题库带答案.docx VIP
- 食材验收标准及流程.docx VIP
- KEYENCE基恩士DL-RS1A 用户手册 (IV2).pdf
- 艺术培训员工培训.pptx VIP
文档评论(0)