no_use_mergeview¶
用在视图中,确定该视图不被合并到父查询中。
举例:
-- 清理环境
DROP TABLE a CASCADE;
DROP TABLE b CASCADE;
-- 创建表
CREATE TABLE a(a1 INT, a2 INT);
CREATE TABLE b(b1 INT, b2 INT);
explain select * from a, (select /*+ no_use_mergeview */ b1 from b) T1
where a.a1 =T1.b1;
QUERY PLAN(text)
----------------------
Merge Join(Inner Join) (cost=1244.80..6318.92 rows=335544 width=12)
Merge Cond: ("outer".A1 = "inner".B1)
-> Sort (cost=622.40..642.88 rows=8192 width=8)
Sort Key: A1
-> Seq Scan on A (cost=0.00..89.92 rows=8192 width=8)
-> Sort (cost=622.40..642.88 rows=8192 width=4)
Sort Key: B1
-> Subquery Scan T1 (cost=0.00..89.92 rows=8192 width=4)
-> Seq Scan on B (cost=0.00..89.92 rows=8192 width=4)
总数目:9
-- 删除表
DROP TABLE a CASCADE;
DROP TABLE b CASCADE;