在开发版发了一篇,没人会答,在这个版再发一篇,请高手赐教,万分感激!!!
现在我遇到这样一个问题,我从数据源取数据放入我们的数据仓库里! 在我们的机器上有两个oracle数据库,一个数据源库dsdw,一个是数据仓库tftax 我在数据仓库(tftax)里面做了dblink连接到数据源库(dsdw),这样就方便访问, 现在有一个比较复杂的sql语句,从数据源库(dsdw)查询结果,我把这个复杂的 sql语句在数据仓库(tftax)里面执行,执行好久都没有结果出来,于是,我把 这个复杂的sql语句放到数据源库(dsdw)去执行,发现不用一份钟就可以看到结果, 这到底是为什么?dblink需要怎么设置才能提高访问速度? 另外,我把上面的这个查询结果插入一张表,我在数据源库(dsdw)去执行一个查询 并且把这查询的结果插入数据仓库(tftax)里的一张表table1(insert table1 select * from table), 我花了2500多秒,才查完,但是我把这查询结果插入的表该成数据源库(dsdw)的一张 表table2我发现只要几十秒就搞定! 我把这个table2的数据插入到table1,也就一下子搞定 这个时间差到底怎么设置才有能减少?

解决方案 »

  1.   

    不清楚你的具体情况,很难判断,正好最近我也在搞多个数据库之间数据交换的问题,以下是几个建议:
    1、如果instances在同一台服务器上,最好采用ipc协议建立dblink,ipc协议比tcp/ip快很多倍。
    2、从dblink远程端查询比起本地查询速度慢很多,所以查询的时候尽量在数据访问量比较大的一端进行。
    3、用sql/plus的copy命令插入纪录比dblink快很多
      

  2.   

    好久没有见老大来了,先问个好!关于dblink:
    http://www.experts-exchange.com/Databases/Oracle/Q_20484585.html
      

  3.   

    浪子你好,最近我挺忙,来得不多。experts-exchange很久没去了,版面都改得不认识了。那个问题要等人回答还是怎么?
      

  4.   

    我是说那个experts-exchange的链接,我没仔细看
      

  5.   

    我最近做了一些关于dblink的测试,写了一份报告。觉得还有点价值,有空的时候贴出来,不过是英文的