RowcountMaterial

名称

行数物化算子

介绍

两个表进行循环嵌套连接时,如果要映射的属性不包含内表的数据,此时,只需要对内表数据的行数进行物化即可

举例

--清理环境
DROP TABLE t1 CASCADE;
DROP TABLE t2 CASCADE;

--创建环境
CREATE TABLE t1(a_id int, a date);
INSERT INTO t1 VALUES(1,'2005-1-1');
INSERT INTO t1 VALUES(2,'2006-1-1');
INSERT INTO t1 VALUES(3,null);
INSERT INTO t1 VALUES(4,'2007-1-1');
ANALYZE t1;

CREATE TABLE t2(b_id int,b text);
INSERT INTO t2 VALUES(1,'Tianjin');
INSERT INTO t2 VALUES(2,'Beking');
INSERT INTO t2 VALUES(3,'Chongqing');
INSERT INTO t2 VALUES(4,null);
ANALYZE t2;

EXPLAIN ANALYZE SELECT t1.* FROM t1,t2;
                                               QUERY PLAN
--------------------------------------------------------------------------------------------------------
 Nested Loop(Inner Join)  (cost=7.04..14.40 rows=16 width=12) (actual time=0.03..0.04 rows=16 loops=1)
   ->  Seq Scan on T1  (cost=0.00..7.04 rows=4 width=12) (actual time=0.01..0.02 rows=4 loops=1)
   ->  RowcountMaterial  (cost=7.05..7.05 rows=4 width=0) (actual time=0.00..0.00 rows=4 loops=4)
         ->  Seq Scan on T2  (cost=0.00..7.04 rows=4 width=0) (actual time=0.01..0.02 rows=4 loops=1)
 Planning Time: 0.17 msec
 Execution Time: 0.13 msec
(6 rows)