首页 存档 技术 查看内容

Oracle 使用driving_sites提示优化sql一例

2018-3-30 13:00 |来自: 互联网 316 0

摘要: 点击上方“蓝字”可以关注我们哦 |本文来自:投稿文章 |作者:张涌 概念 日常工作中经常会用到分布式数据库查询,即通过DBLINK同时查询本地表和远程表。分布式查询一般有两种处理方式:一种将远程表数据取回本地, ...

点击上方“蓝字”可以关注我们哦



|本文来自:投稿文章

|作者:张涌



概念


日常工作中经常会用到分布式数据库查询,即通过DBLINK同时查询本地表和远程表。分布式查询一般有两种处理方式:一种将远程表数据取回本地,然后和本地表关联查询,获取最终结果,另一种将本地表数据传到远程和远程表关联查询后,再将关联结果取回。前一种处理方式可理解为只有一次网络传输操作比后一种少,也就作为了数据库的默认处理方式;


driving_site提示能够指定执行计划在远程还是本地做,使用driving_site,特别是本地小结果集,远程大结果集,最终结果集较小时,希望计划在远程驱动,这样远程执行完毕,将结果集传输到本地,避免了大结果集的网络传输,从而达到整体优化的效果。


案例分析


XXX银行在日常的存贷通业务中,经常会出现作业超时甚至被挂起的现象,对业务正常开展造成严重影响,经分析定位到被挂起的sql为:


INSERT INTO UDT_SALS_GL
(SELECT T.JYZH, A.ACTACTNO, 'PLAF', A.ACTDRTBA, A.ACTRATVL / 100
FROM CCSACT A
INNER JOIN UDT_FNPT_QYXX T
ON '0' || SUBSTR(T.JYZH, 1, 16) = A.ACTRETAC
WHERE A.ACTDRTBA

声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

相关分类

返回顶部