Oracle和SQL数据集

时间:2009-02-03 13:54:15

标签: sql sql-server oracle dataset

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

我想知道的是:如何以不影响性能的方式解决这个问题?

1 个答案:

答案 0 :(得分:1)

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

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

例如,如果Oracle ID集很小,但SQL Server集很大,则将链接服务器创建到Oracle端并在SQL Server端执行此操作:

SELECT *
FROM sqlservertable
INNER JOIN linkedserver.oracletable
    ON whatever

在这种情况下,如果Oracle方面很大(或者在需要加入SQL Server端之前无法预先过滤),性能通常会很差 - 并且通过拉动整个表(或者您可以确定的最小子集代替SQL Server表,并在SQL Server端执行JOIN all。