【发布时间】:2013-02-16 11:21:56
【问题描述】:
我使用 Oracle Database Link 从 SQL Server 查询数据。查询是这样的:
select *
from tableA@DL_SqlServer a
join tableB@DL_SqlServer b
on a.ID = b.ID
tableA 和 tableB 很大,结果比较小。此查询在 SQL Server 中快速执行,因为索引是在两个表上构建的。但是 Oracle 数据库链接到 SQL Server 的速度非常慢。我猜联接操作是在 Oracle 端而不是在 SQL Server 端执行的,因此不使用索引。因为我只需要连接的结果,所以我更喜欢完全在 SQL Server 上执行查询并只获得小的结果。我知道使用 SQL Server 的链接服务器和 OPENQUERY 函数可以实现这个目标。我想知道如何在 Oracle Database Link 上执行此操作。谢谢!顺便说一句,我没有权限在 SQL Sevrer 上创建视图。
【问题讨论】:
-
在你的 sql server 上为它创建一个视图。
-
抱歉,我没有权限在 SQL Sevrer 上创建视图。
标签: sql-server oracle