У меня есть запрос следующего формата.Он использует две удаленные таблицы и локальную таблицу.
SELECT *
FROM table1@db2 t1 INNER JOIN table2@db2 t2 -- two large remote tables on the same DB
ON t1.id = t2.id
WHERE t1.prop = '1'
AND t2.prop = '2'
AND t1.prop2 IN (SELECT val FROM tinylocaltable)
Мне интересно, как правильно использовать подсказку запроса DRIVING_SITE
, чтобы перенести основную часть работы на db2 (т. Е. Обеспечить соединение и условияприменяется на db2).Большинство примеров DRIVING_SITE
, которые я вижу, ссылаются только на одну удаленную таблицу.Достаточно ли SELECT /*+DRIVING_SITE(t1)*/ *
или мне нужно указать обе удаленные таблицы (t1 и t2) в подсказке?Если последнее, каков правильный синтаксис?
(Если вам интересно, почему это не выполняется на db2, для начала, это потому, что это фактически один UNION ALL
раздел большего запроса,где остальные UNION ALL
разделы используют локальную БД).