Oracle 和 SQL 数据集

Posted

技术标签:

【中文标题】Oracle 和 SQL 数据集【英文标题】:Oracle and SQL Dataset 【发布时间】:2009-02-03 13:54:14 【问题描述】:

问题:我必须从 SQL Server 数据库和 Oracle 数据库中提取数据并将它们放在一个数据集中。我遇到的问题是:SQL Server 查询需要一个只能从 Oracle 查询返回中找到的 ID。

我想知道的是:我怎样才能以不损害性能的方式解决这个问题?

【问题讨论】:

【参考方案1】:

您可以使用链接服务器或将数据全部传输到一侧来执行此操作。这一切都将取决于每一方的数据量。

一般的经验法则是在数据最多的一侧执行查询。

例如,如果 Oracle ID 集很小,但 SQL Server 集很大,则您可以将链接服务器连接到 Oracle 端并在 SQL Server 端执行:

SELECT *
FROM sqlservertable
INNER JOIN linkedserver.oracletable
    ON whatever

在这种情况下,如果 Oracle 端很大(或者无法在需要与 SQL Server 端连接之前进行预过滤),性能通常会很差 - 通过拉取整个表(或您可以确定的最小子集)到 SQL Server 表中,并在 SQL Server 端执行全部联接。

【讨论】:

以上是关于Oracle 和 SQL 数据集的主要内容,如果未能解决你的问题,请参考以下文章

查询 oracle 多维数据集时出现 java.sql.SqlRecoverableException

oracle 存储过程执行动态SQL 返回结果给游标,外部程序获得dataset结果集。

Oracle SQL

正确使用 PERCENTILE_CONT - Oracle SQL

ORACLE 中rownum和row_number()的使用区别(可指定取sql结果集的第几个数据)

java连接Oracle数据库,从ResultSet中提取数据出现java.sql.sqlException结果集已耗尽