Полный намек на стол в представлении - PullRequest
0 голосов
/ 25 июня 2018

Я использую Orace 11g.

Допустим, у меня есть представление, содержащее таблицу и запрос к этому представлению.

Как добавить полную подсказку на внутреннюютаблица, когда я запрашиваю представление?

Есть ли способ добавить эту подсказку в представление?

Пример:

-- View V contains table T
create or replace view V as
select *
from   T
where  col1 > 1000
and    col2 <> 'David';

-- My query
select *
from   V
where  col3 < 999;

1 Ответ

0 голосов
/ 25 июня 2018

Это должно работать, если вы просто указали подсказку непосредственно в представлении:

select /*+ full(v) */ *
  from v
 where col3 < 999;

В случае, если это не сработает, вы также можете использовать подсказку qb_name в определении представления изатем ссылка на это во внешнем запросе:

create or replace view v as
   select /*+ qb_name(myblock)*/ *
     from t
    where col1 > 1000
      and col2 <> 'David';

select /*+ full(t@myblock) */ *
  from v
 where col3 < 999;
...