我使用 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 上创建视图。