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

[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/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/35489/viewspace-712963/

【信息科学与工程学】计算机科学与自动化—第十五篇 云计算 11 算法篇02 但若第一个应用需求40GB/s,第二个10GB/s,总需求50GB/s>40GB/s,第一个得32GB/s,第二个得8GB/s,不公平。但若分区负载不均(分区1-2各有100任务/s,分区3-4各有50任务/s),A负责1-2(200/s),B负责3-4(100/s),仍均衡。任务 τi​ 的计算需求 Wi​(CPU周期),在频率 f 下执行时间 Ti​=Wi​/f,能耗 Ei​=Pdyn​⋅Ti​=Ceff​⋅V2⋅f⋅(Wi​/f)=Ceff​⋅V2⋅Wi​。若 Mneed​>Mi​,需使用远程显存。 阅读详情

相关推荐

免费测试国外大模型Claude 3.7 Sonnet API:无需api key(秘钥)

Claude 3.7 Sonnet是Anthropic公司推出的第三代Claude系列AI模型中的中规模版本(2024年发布),在性能与效率间实现平衡。该模型基于改进的Transformer架构,支持128K上下文窗口,擅长复杂推理、数学计算和创意写作,在GSM8K数学基准测试中准确率达92%。其采用"宪法AI"伦理框架,通过多轮对抗训练减少有害输出,同时新增多模态理解能力(可解析图片/图表内容)。Claude 3.7 Sonnet是Anthropic推出的高效轻量级大模型,主打快速响应与成本优化。

Explinks的博客 1498

有关DBLINK操作的语句执行机制及优化方式

有关DBLINK操作的语句执行机制及优化方式 dingjun123 http://www.itpub.net/thread-1786077-1-1.html 分布式查询语句对于远程对象的查询在远程库执行,在远程可以执行的语句会通过优化器的查询转换,执行的是转换后的语句,然后结果集返回到本地,再与本地表运算。当然, 本地还是远程是相对的,我们可以通过driving_hint改变主查询

mikean的专栏 864

活用QueryWrapper与@Select注解,构建MybatisPlus动态多表查询方案

本文深入探讨了如何结合MybatisPlus的QueryWrapper与@Select注解,构建高效灵活的动态多表关联查询方案。通过解析${ew.customSqlSegment}占位符机制,并设计通用的Service层封装,解决了复杂条件下多表查询的SQL拼接难题,显著提升了后台管理系统列表查询的开发效率与可维护性。

weixin_29291069的博客 271

oracle 跨库关联,driving_site:Oracle 跨库关联数据时速度问题

driving_site:Oracle 跨库关联数据时速度问题 收藏在近期的一个数据库查询统计中,需要通过db_link跨库进行表的关联,其中A库 中的某张拥有百万以上数据的表与B库 中的拥有千条记录以上的表进行关联。两张表进行关联的字段都建有索引。但在实际查询中如果从B库进行两表的关联却会导致A库中大表的全表扫描,查询速度慢是次要的,关键是全表扫描会影响到A库的正常运行。通过对SQL语句的不断调...

weixin_33855603的博客 684

【运动规划算法项目实战】Artificial Potential Field算法(附ROS C++代码)

在机器人行业中,路径规划是一个关键的任务,它涉及到如何让机器人在复杂的环境中安全而高效地移动。人工势场算法(Artificial Potential Field Algorithm)是一种常用的路径规划方法,它借鉴了物理学中的势能概念,通过模拟力的作用来引导机器人的移动。本文将详细介绍人工势场算法的原理、在路径规划中的应用、算法优缺点以及代码实现。人工势场算法基于两种势场:斥力场和引力场。斥力场使机器人远离障碍物,而引力场将机器人吸引到目标位置。

xiewf的博客 1万+

oracle driving_site特点简析

1.准备工作: 先要创建一个数据库:orcl_ysy,然后解锁账户,创建dblink alter user scott identified by tiger; alter user scott account unlock ; --授予orcl 下的yushaoyang001 dblink 权限 grant create public database link to yushaoyang...

u011165335的博客 6072

uniapp - 实现苹果App打包上架App Store应用商店详细教程,详解Hbuilder打包编译ipa发布上传到苹果ios软件商店全流程,提供云打包/离线本地打包ios、申请IOS苹果证书方法

uni-app,苹果ios,苹果app,打包编译,appstore应用商店,ipa发布到软件商店,uniapp的app苹果应用商店上架,上架苹果APPStore,uniApp打包的ipa文件上传到商店,上架苹果商城,审核失败,被拒绝,UniApp打包ipa文件,上架iOSAppStore流程指南,最新详细教程最全,Hbuilder打包发布iosapp,苹果云打包上线全过程,云打包IPA并上传到商店,打包iOSipa文件后怎么发布到应用商店,苹果证书申请教程,ios证书申请,mac电脑,审核很久

🏆 前端领域优质创作者 1万+

[Oracle]oracle SQL优化 driving_site解决 DBLINK关联效率

SELECT /*+ driving_site(t) use_nl(a,t) leading(a)*/ a.c_fundcode, a.d_cdate, a.d_reinvestdate, a.f_netvalue, t.en_dwjz from (SELECT distinct tp.c_fundcode, tp.d_cdate,--基准日 tp.d_reinvestdate,--再投日 td.f_ne...

艴小鱼的博客 728

晶体管-二极管三极管MOS管选型参数总结

二极管三极管和MOS管,是电路中常用的控制电流电压的基本电子元器件。电路世界中晶体管的选型,需要考虑的参数多种多样,这些参数的选择会直接影响到电路的性能、稳定性、成本等多个方面。本文对二极管三极管和MOS管的选型参数进行详细介绍并总结。

fydar的博客 887

model_optimizer将pi05端到端延时进一步优化到68.13ms了

目前在保持灵活性和性能之间找到一个较好的平衡。vit, llm仍然使用onnx->trt_engine的路径,量化可以通过https://github.com/NVIDIA/Model-Optimizer.git支持。同时支持通过cutedsl手写算子进行进一步优化denoise因为步数多,kernel launch多,因此完全通过手写融合算子实现,将所有steps进行一次大的cuda graph capture.

happyAnger6的专栏 60

/*+ driving_site(table) */优化

同事询问一个SQL执行了10分钟才出结果问还有没有优化空间; SQL结构类似于: select a.object_id,b.object_type,c.object_sid from a1@dblink1 a,a2@dblink2 b,a3@dblink3 c,d4 where a.object_id=b.object_id and b.object_ccid=c.object_ccid

N 1万+

基于STM32L4XX 、HAL库的ATD5984步进电机驱动器驱动程序应用设计

一、简介: ATD5984是一款内部集成了译码器的微特步进电机 驱动器,能使双极步进电机以全、半、1/4、/1/8、1/16 和1/32步进模式工作。步进模式由逻辑输入管脚MSx选 择。其输出驱动能力达到28V±1.6A。 译码器是ATD5984易于使用的关键,通过STEP管脚 输入一个脉冲就可以使电机完成一次步进,省去了相序 表,高频控制线及复杂的编程接口,使其更适于没有复 杂的微处理器或微处理器负担过重的场合。 在步进操作期间,ATD5984的内部电路可以自动

PP_Cottage的博客 408

Oracle hint之DRIVING_SITE

Oracle hint之DRIVING_SITE 日常工作中经常会用到分布式数据库查询,即通过DBLINK同时查询本地表和远程表。分布式查询一般有两种处理方式...

小麦苗DBA宝典 1650

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

分布式数据库系统实验五

Oracle引入优化器是因为:基于代价的优化器,在绝大多数情况下会选择正确的优化器,减轻DBA的负担。但是有时候会选择效率很差的执行计划,使某个语句变得很慢,此时就需要DBA认为干预,告诉优化器使用指定的存取路径或者连接类型生成执行计划,从而使语句高效地运行。提示效果一样,即CBO优化器在建立外键的情况下,默认采用合并排序的方式来进行查询操作。提示效果一样,即CBO优化器在建立外键的情况下,默认采用合并排序的方式来进行查询操作。/提示效果一样,即CBO优化器默认采用嵌套循环的方式来进行查询操作。

定期分享我的发现和想法,感谢你的陪伴和支持 6566

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

driving_site:Oracle 跨库关联数据时速度问题

       在近期的一个数据库查询统计中,需要通过db_link跨库进行表的关联,其中A库中的某张拥有百万以上数据的表与B库中的拥有千条记录以上的表进行关联。两张表进行关联的字段都建有索引。但在实际查询中如果从B库进行两表的关联却会导致A库中大表的全表扫描,查询速度慢是次要的,关键是全表扫描会影响到A库的正常运行。       通过对SQL语句的不断调整、优化发现当两表进行简单的关联查询时,

huangfei421的专栏 2854

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

oracle ora 47306,Oracle SQL提示含义与示例 --- 分布式查询和并行提示

《Oracle 高性能SQL引擎剖析:Oracle SQL 优化与调优技术详解》一书的附录部分。作为对该书的补充,帮助读者理解和掌握“提示”这一项在SQL优化中使用的这一重要辅助手段。语法:DRIVING_SITE([])描述:指示优化器选择那个数据库作为分布式查询中的驱动站点,即将语句放在该站点上执行。未指定参数时,采用本地数据库。HELLODBA.COM>exec sql_explain...

weixin_33722375的博客 603

Oracle跨数据库查询完全解读:DBLINK原理、配置实战与性能调优

数据库链接是一个命名的、定义了从本地数据库到远程数据库连接路径的数据库对象。它在逻辑上充当两个数据库之间的“桥梁”,使得用户可以在一个数据库会话中,像访问本地表一样访问远程数据库中的表。DBLINK的本质基于Oracle Net网络架构,通过配置的服务名(Service Name)建立连接是一个单向连接,从创建它的本地数据库指向目标远程数据库支持分布式查询和分布式事务,参与事务管理的两阶段提交协议主要类型| 类型 | 可见性 | 特点 | 适用场景 |Private(私有)

✨ 欢迎来到【Seal ^_^ 的优快云博客】!✨ 794

分布式数据库系统实验五:Oracle分布式查询优化案例

②散列连接非常适合表的数据量一大一小,而且小表的数据量完全可以保存到内存中的连接案例。在实验过程中我也遇到了一些问题,由于对SQL语句的执行计划不太熟悉,我通过查阅资料学习了对Oracle执行计划的解读,逐渐学习了从执行计划中查看SQL语句的执行顺序以及不同查询策略的连接过程,以及对图中动作的一些说明,包括表访问和表连接的几种常见方式。从执行计划中可以看到,CBO从本地和Oracle数据库的统计信息中分部得出SQL的执行代价,本地SQL的执行代价为cost=2 card=5 bytes=105;

qq_63908157的博客 808

DBLINK操作的语句执行机制及优化方式

最近公司搭建分布式数据库构架,用到dblink,以前对dblink了解的不是很多,看到一篇关于dblink的文章,些的很不错,希望更多的人能看到。 原文链接: 有关DBLINK操作的语句执行机制及优化方式 http://www.itpub.net/thread-1786077-1-1.html 分布式查询语句对于远程对象的查询在远程库执行,在远程可以执行的语句会通过优化器的查询转换,执行的

sidy的专栏 1953

读书笔记---(1)

记录读书是看到的某些言语。 1、当必须使用风不是查询是,请使用IN字句,设置草字符(如UNION,或者MINUS),并采用任何可以降低数据库节点间的网络通信的技术。使用试图时,将记录限制在一张表内,这样可以提供性能,因为他减少了从远程客户端往本地客户端发送的数据量。在Oracle 8i中,可以使用DRIVING_SITE提示来控制哪一个分布式数据库的节点使用哪一个分布式查询。在Oracle 7中

OS is DB,DB is OS 587

数据库系统工程师年薪35W+的硬核门槛:掌握这6类执行计划反模式,面试通过率提升3倍

破解SQL性能瓶颈,助你成为高薪数据库系统工程师!详解6类常见执行计划反模式,覆盖慢查询优化、索引失效诊断等高频面试场景,掌握即提升3倍通过率。方法实战、案例精准、直击考点,值得收藏。

SimCompile的博客 193
上一篇: Oracle11g RAC下ASM 的管理与维护
下一篇: 如何补充叶酸和维生素
cuixie2370
博客等级 码龄10年 17粉丝 842原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值