视图内表的完整提示

时间:2018-06-25 06:29:41

标签: oracle query-performance sql-view

我正在使用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 :(得分:0)

如果您直接在视图上直接提供提示,它将起作用:

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;