SQL Server语言 - Oracle链接服务器与连接



场景如下:

主数据库服务器: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端创建一个连接表b,c,d并连接到该视图的视图。LocalTable中有多少条记录?如果数量很少(少于10,000个),那么你最好加入Oracle这边的整个事情。

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

最新更新