DB Link使用 driving_site 调优问题

本文介绍了在遇到通过DBLink访问远程数据导致的查询速度慢问题时,如何利用driving_site进行调优,显著提高查询效率。通过在SQL中加入/*+driving_site*/提示,使得查询在远程数据库执行并直接返回结果,从而将查询时间从十几分钟缩短到2-3秒。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近项目中碰到一个问题,本地系统中需要请求两个不同DBLink远程访问数据,这样导致访问数据速度很慢,要耗费十几分钟,点开F5查看远程接收速度,慢的跟蜗牛爬一样,这样的访问速度是无法接受的,后来在网上找到了解决办法,试用driving_site调优,速度明显起来了,分享给大家。

业务是远程ehr库的有数据集表A,B,C..等多表,在远程empi库中有一个表数据集定位sjjdw表,其中ehr库表在empi库sjjdw表体现是sjjid字段,同时他们有一个共有字段zxid,目前需要查询的业务是:ehr库数据表中zxid未被empi库sjjdw表对应的未维护的记录,具体体现就是ehr库的数据集表DA_GRJBXX表有zxid有100个,但是对应的empi库sjjdw表字段sjjid='DA_GRJBXX'对应的zxid只有20个,那么其他80是没有被维护起来的记录。

说了这么多,直接上SQL

/* DBlink 未使用driving_site前*/

select  'MB_TNBSFDJ'  as  tableName ,count(*)  as  sl  from MB_TNBSFDJ@ehr_2 MB_TNBSFDJ  where MB_TNBSFDJ.zxid  not in (select  zxid  from mpi_sjjdw@empi_2  dw  where  dw.sjjid = 'MB_TNBSFDJ')
union
select  'MB_TNBZXDA'  as  tableName ,count(*)  as  sl  from MB_TNBZXDA@eh

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值