Как заставить oracle использовать индексные или упорядоченные подсказки для удаленных объединений
Я использую Oracle 11g. У меня есть запрос, который соединяет локальную таблицу с удаленными таблицами, используя ссылки БД. Я хочу, чтобы управляющая таблица была удаленной, так как я в основном фильтрую, используя удаленную таблицу, чтобы получить несколько строк. Затем я хочу присоединиться к ним с локальной таблицей.
Проблема в том, что оптимизатор игнорирует подсказки ORDERED и INDEX и выполняет полное сканирование локальной таблицы. Я использую правильные индексы и сгенерировал статистику. Я выполняю запросы индивидуально для каждой таблицы, в которой они используют правильные индексы, но при объединении локальная таблица всегда выполняет полное сканирование таблицы и действует как управляющая таблица.
SELECT /*+ INDEX_RS_ASC(l) */
*
FROM remote_table@mylink r
JOIN local_table l USING (cont_id)
WHERE r.PRIME_VENDOR_ID = '12345'