情况是这样的:我们有一个 Oracle 数据库,我们需要连接到该数据库以提取一些数据。由于访问上述 Oracle 数据库是一个真正的痛苦(主要是官僚障碍比其他任何事情都重要),我们只是计划将其链接到我们的 SQL Server 并使用链接在我们需要时访问数据。
对于我们的一个应用程序,我们计划创建一个 View 来获取我们需要的数据。现在我们需要的数据是从两个表中加入的。如果我们这样做,哪个更好?
这个(在伪 SQL 中如果存在这样的东西):
OPENQUERY(Oracle, "SELECT [cols] FROM table1 INNER JOIN table2")
或者这个:
SELECT [cols] FROM OPENQUERY(Oracle, "SELECT [cols1] FROM table1")
INNER JOIN OPENQUERY(Oracle, "SELECT [cols2] from table2")
有什么理由偏爱其中之一吗?需要记住的一件事:我们限制查询可以运行多长时间来访问 Oracle 服务器。
最佳答案
我会选择您的第一个选项,尤其是当您的查询包含一个用于选择表中数据子集的 where 子句时。
假设 Oracle 服务器中的表上有支持连接操作的索引,则两台服务器上的工作量将减少。
关于sql - 加入链接服务器还是加入主机服务器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/377974/