情况是这样的
要从一台远程的oracle_remoter,下载数据到sql server.1,在本地的oracle_local用DB Link下载远程的oracle_remoter的数据非常快,再用sql server 的link server中转到sql server中,速度也比较快。2,如果sql server 直接从oracle_remoter,也是在sql server上建立link server,用一样的方法,但是效率就非常低,速度非常慢。是什么原因?谢谢!

解决方案 »

  1.   

    异构数据之间做  dblink ,比同构的要慢一些的,你这个时间相差多少呢 ?PS :你用 sql server 向 oracle 做 linkserver 时,用的哪个驱动?
      

  2.   

    link server用的驱动是:OraOLEDB.Oracle现在主要的区别是sql server用link server从远程的oracle_remoter下载非常慢,但是从本地的oracle_local就比较快,同样的表,差别差不多是慢七到八倍的样子。远程的网速也不是问题,因为远程oracle_remoter到本地的oracle_local的速度是非常非常快的,这个是在本地oracle_local创建DB Link的方式。
      

  3.   

    没遇到过,猜想或者提供思路:
    1、反过来呢。远程方式,oracle从远程的sqlServer拉数据的效率呢。
    2、本来也怀疑网速,但楼主确认没问题
    3、数据上是否有差异呢。比如字段的类似是否匹配,是否存在强制转换的过程
      

  4.   

    1.怀疑你的local和remote里面的表结构是不是都一致,不然按你描述的很不应该
    2.按你说的   慢应该是慢在remote,不是在sqlserver,到remote上去追踪下 是什么导致的慢