SQL Server-带联接的Oracle链接服务器

SQL Server-带联接的Oracle链接服务器,oracle,sql-server-2008,join,linked-server,openquery,Oracle,Sql Server 2008,Join,Linked Server,Openquery,情况如下: 主数据库服务器: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.i

情况如下:

主数据库服务器: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中有多少条记录?如果数量很少(低于10000个左右),那么最好在Oracle方面加入整个团队

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