ITPub博客

首页 > 数据库 > Oracle > DBLINK HINT /*+ driving_site(org) */ 优化策略和思路

DBLINK HINT /*+ driving_site(org) */ 优化策略和思路

原创 Oracle 作者:abin1703 时间:2018-01-22 19:10:06 0 删除 编辑

使用DBLINK远程访问数据库的优化策略和思路:

策略:远程访问,网络传输占很大部分,优化原则,减少网络传输,将小的结果集拉到本地处理;

思路1:在远端建立视图;

思路2:使用DRIVING_SITE将数据拉到本地处理;



出现这种执行计划,主要原因是使用了db link,要想看到执行计划,可以加 hint,如: 
/*+remote_mapping(db_link)*/或/*+driving_site(table_name)*/


   用法:   /*+driving_site(table_name)*/  : table_name 一般是大表!




select /*+driving_site(main)*/  a.*,b.* from A.a main@BigTableDB,B.b minor where main.id=minor.id and .......

这样一来就可以避免大表所在库的全表扫描,查询速度将成级数级提高。



解释:


当指定 /*+driving_site(main)*/ 时, oracle将会从minor表获取全部数据到main表所在的数据库来进行关联运算.(索引起作用,速度快)
若指定 /*+driving_site(minor)*/ 时, oracle将会从main表获取全部数据到minor表所在的数据库来进行关联运算.(索引失败,全表扫描)

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

上一篇: 在dg库上搭建ogg
请登录后发表评论 登录
全部评论

注册时间:2015-07-13

  • 博文量
    204
  • 访问量
    426852