sql - 加入链接服务器还是加入主机服务器?

标签 sql sql-server-2005 oracle join linked-server

情况是这样的:我们有一个 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/

相关文章:

mysql - 如果我只知道用户名,如何使用 SQL 语句从网站获取数据?

java - Oracle JDBC/PL SQL/类型/包级别/无效名称模式

java - 在java标准谓词中使用 native sql

sql - 在 SQL Server 中使用动态名称访问另一个数据库

sql - 表变量行限制?

sql-server-2005 - SQL Server 中的唯一 key 违规 - 假设出现错误 2627 是否安全?

sql - 为 oracle 创建 View 时出现语法错误

mysql - 如何在额外列中显示值的计数

SQL:使用数学运算匹配表

sql - 另一个表中存在的记录的计算比率