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

时间:2013-03-14 00:40:38

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

野兔就是这样的场景:

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

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

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 DB中检索数百万条记录。

非常感谢你。

1 个答案:

答案 0 :(得分:0)

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

您的总体目标是什么?您是在构建报告还是尝试识别不同的记录,以便合并数据?你能在oracle方面做出改变吗?