//关系准备
CREATE TABLE t01(a INT,b CHAR(32));
CREATE VIEW v_t01 AS SELECT * FROM t01 WHERE a<10;
//SQL准备
SELECT * FROM v_t01 WHERE a<7;
//测试:
uu=# EXPLAIN SELECT * FROM v_t01 WHERE a<7;
QUERY PLAN
--------------------------------------------------------
Seq Scan on t01 (cost=0.00..17.35 rows=163 width=136)
Filter: ((a < 10) AND (a < 7))
(2 rows)
从QUERY PLAN可以看出,现在是直接访问v_t01视图的基表t01,并且将视图的谓词条件与SQL语句的谓词条件组合,但是没有将谓词条件化简,很可惜,这点做的不是太好。我曾在MySQL做过同样的测试,MySQL处理机制一样,并没有化简谓词条件。