Oracle и набор данных SQL - PullRequest
       12

Oracle и набор данных SQL

1 голос
/ 03 февраля 2009

Проблема: мне нужно взять данные из базы данных SQL Server и базы данных Oracle и собрать их в один набор данных. Проблема, с которой я сталкиваюсь: запрос SQL Server требует идентификатора, который можно найти только при возврате запроса Oracle.

Что мне интересно, так это: как я могу подойти к этой проблеме таким образом, чтобы производительность не пострадала?

1 Ответ

1 голос
/ 03 февраля 2009

Вы можете сделать это со связанными серверами или перенести все данные в одну сторону. Все будет зависеть от объема данных с каждой стороны.

Общее правило заключается в выполнении запроса на стороне, которая имеет наибольшее количество данных.

Например, если набор идентификаторов Oracle небольшой, но набор SQL Server большой, вы создаете связанный сервер на стороне Oracle и выполняете его на стороне SQL Server:

SELECT *
FROM sqlservertable
INNER JOIN linkedserver.oracletable
    ON whatever

В этом случае, если сторона Oracle является большой (или не может быть предварительно отфильтрована до необходимости присоединиться к стороне SQL Server), производительность, как правило, будет довольно низкой - и значительно улучшится, потянув всю таблицу (или минимальное подмножество, которое вы можете определить) в таблицу SQL Server вместо этого и выполнить JOIN все на стороне SQL Server.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...