Вот ситуация: у нас есть база данных Oracle, к которой мы должны подключиться, чтобы получить некоторые данные. Поскольку получение доступа к указанной базе данных Oracle представляет собой реальную проблему (в основном бюрократическое препятствие больше всего на свете), мы просто планируем связать ее с нашим SQL Server и использовать эту ссылку для доступа к данным по мере необходимости.
Для одного из наших приложений мы планируем получить данные, которые нам нужны. Теперь нужные нам данные объединены из двух таблиц. Если мы сделаем это, что было бы предпочтительнее?
Это (в псевдо-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.