【问题标题】:SQL Server - Oracle Linked Server with joinSQL Server - 带有连接的 Oracle 链接服务器
【发布时间】:2013-03-14 00:40:38
【问题描述】:

野兔是场景:

主数据库服务器:SQL Server 2008 R2 与 Oracle 11g 的链接服务器。

我有一个存储过程,可以进行如下查询:

Select t1.a, t1.b, t2.c, t3.d
From LocalTable a inner join LinkedServerName..Schema.Tableb b on a.aNumber= b.id
     inner join LinkedServerName..Schema.Tablec c on b.value = c.id
     inner join LinkedServerName..Schema.Tabled d on a.someOtherNumber = d.Id
 Where a.WhereValue1 = @Parameter1
   and b.WhereValue2 = @Parameter2 

这变得非常缓慢。我无法弄清楚如何使用 OpenQuery 来改进查询,因为 Where 子句使用参数(如果可以使用的话)。

有没有办法改进数据检索?我正在从 Oracle 数据库中检索数百万条记录。

非常感谢。

【问题讨论】:

    标签: oracle sql-server-2008 join linked-server openquery


    【解决方案1】:

    我建议您至少在 Oracle 端创建一个视图,用于连接表 b、c、d 并连接到该视图。 LocalTable 中有多少条记录?如果很少(低于 10,000 左右),那么您最好在 Oracle 方面加入整个事情。

    您的总体目标是什么?您是在构建报告还是尝试识别不同的记录以便合并数据?您可以在 oracle 端进行更改吗?

    【讨论】:

      猜你喜欢
      • 2021-08-09
      • 1970-01-01
      • 2011-05-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-14
      • 1970-01-01
      相关资源
      最近更新 更多