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结果集。
正确使用 PERCENTILE_CONT - Oracle SQL
ORACLE 中rownum和row_number()的使用区别(可指定取sql结果集的第几个数据)
java连接Oracle数据库,从ResultSet中提取数据出现java.sql.sqlException结果集已耗尽