ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 分布式数据库查询中 DRIVING_SITE 的疑问

分布式数据库查询中 DRIVING_SITE 的疑问

原创 Linux操作系统 作者:tolywang 时间:2011-12-08 15:58:04 0 删除 编辑
[i=s] 本帖最后由 tolywang 于 2011-12-8 15:56 编辑

Oracle 10.2.0.4 ,   Oracle 9.2.0.8   


DRIVING_SITE
The DRIVING_SITE hint forces query execution to be done at a different site than that selected
by Oracle. This hint can be used with either rule-based or cost-based optimization.  

For example:
SELECT /*+DRIVING_SITE(departments)*/  *  
FROM     employees,     [url=mailto:departments@rsite]departments@rsite[/url]
WHERE   employees.department_id = departments.department_id;   

If this query is executed without the hint,  then rows from departments are sent to
the local site, and the join is executed there. With the hint, the rows from employees
are sent to the remote site, and the query is executed there, returning the result to
the local site. This hint is useful if you are using distributed query optimization.

大概意思 :


DRIVING_SITE 提示强制在和Oracle选择不同的一端执行语句, 这个Hint可以用在
rule-based及cost-based 优化模式下。   

如果上面的语句没有 /*+DRIVING_SITE(departments)*/ 提示,  远端的表 departments
的行要被传输到local site ,  在local site 执行连接语句,  如果有这个提示,  那么本地的
employees 表的行会被传到远端site,  查询在远端site执行,   然后返回结果到本地,  这个
hint 在分布式查询优化中还是有用的  。  


问题 :

很多时候我们做分布式数据库查询的时候 ,   基本都是本地远端都是大表,   较少用到一个是很小的配置表,   一个是所谓的detail 大表,  
那么在都是几千万的大表的情况下 ,   不管是本地传输到远端 ,    还是远端传输到本地 ,   表的 rows 传输都是一个大的资源消耗 ,  
这时我们一般会选择默认的 ,  即不使用hint,  让远端表行传输到本地运行,   直接出结果,   省了使用Hint最后还需要从远端传结果这一
步 .  

1.   确认一下,   不使用任何hint 的情况下 ,  一定是远端的表数据行传输到本地来联合执行  ?  还是说有 cost 比较来决定,  如果是
     cost 比较决定,   好像也不现实 ,   远端表的rows 传输过来 ,  统计信息没有过来,   咋整  ?    还有,   难不成Oracle 把可能的情况
     都试一遍 ,  " 都在本地 " 或"  都在远端 "  分别计算Cost  ?  但这成本太高 .   尝试使用SQL trace 来跟踪查询SQL ,  没有看到
     有用的信息  。


2.   远端传输到本地的 rows 是远端整张表的所有行 ?  他们都临时一次性存储在本地库的 data buffer cache  ?  还是其他地方 ?




来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/35489/viewspace-712963/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
Oracle , MySQL, SAP IQ, SAP HANA, PostgreSQL, Tableau 技术讨论,希望在这里一起分享知识,讨论技术,畅谈人生 。

注册时间:2007-12-10

  • 博文量
    5595
  • 访问量
    13167341