---- No. J-3-2 join inherit tables
----
EXPLAIN (COSTS false) SELECT * FROM s1.p1, s1.p2 WHERE p1.c1 = p2.c1;
- QUERY PLAN
----------------------------------------
+ QUERY PLAN
+------------------------------------
Hash Join
Hash Cond: (p2.c1 = p1.c1)
-> Append
-> Seq Scan on p2
- -> Seq Scan on p2c1 p2
- -> Seq Scan on p2c2 p2
- -> Seq Scan on p2c3 p2
- -> Seq Scan on p2c1c1 p2
- -> Seq Scan on p2c1c2 p2
- -> Seq Scan on p2c2c1 p2
- -> Seq Scan on p2c2c2 p2
- -> Seq Scan on p2c3c1 p2
- -> Seq Scan on p2c3c2 p2
+ -> Seq Scan on p2c1
+ -> Seq Scan on p2c2
+ -> Seq Scan on p2c3
+ -> Seq Scan on p2c1c1
+ -> Seq Scan on p2c1c2
+ -> Seq Scan on p2c2c1
+ -> Seq Scan on p2c2c2
+ -> Seq Scan on p2c3c1
+ -> Seq Scan on p2c3c2
-> Hash
-> Append
-> Seq Scan on p1
- -> Seq Scan on p1c1 p1
- -> Seq Scan on p1c2 p1
- -> Seq Scan on p1c3 p1
+ -> Seq Scan on p1c1
+ -> Seq Scan on p1c2
+ -> Seq Scan on p1c3
(19 rows)
-- No. J-3-2-1
duplication hint:
error hint:
- QUERY PLAN
------------------------------------------
+ QUERY PLAN
+--------------------------------------
Merge Join
Merge Cond: (p1.c1 = p2.c1)
-> Sort
Sort Key: p1.c1
-> Append
-> Seq Scan on p1
- -> Seq Scan on p1c1 p1
- -> Seq Scan on p1c2 p1
- -> Seq Scan on p1c3 p1
+ -> Seq Scan on p1c1
+ -> Seq Scan on p1c2
+ -> Seq Scan on p1c3
-> Sort
Sort Key: p2.c1
-> Append
-> Seq Scan on p2
- -> Seq Scan on p2c1 p2
- -> Seq Scan on p2c2 p2
- -> Seq Scan on p2c3 p2
- -> Seq Scan on p2c1c1 p2
- -> Seq Scan on p2c1c2 p2
- -> Seq Scan on p2c2c1 p2
- -> Seq Scan on p2c2c2 p2
- -> Seq Scan on p2c3c1 p2
- -> Seq Scan on p2c3c2 p2
+ -> Seq Scan on p2c1
+ -> Seq Scan on p2c2
+ -> Seq Scan on p2c3
+ -> Seq Scan on p2c1c1
+ -> Seq Scan on p2c1c2
+ -> Seq Scan on p2c2c1
+ -> Seq Scan on p2c2c2
+ -> Seq Scan on p2c3c1
+ -> Seq Scan on p2c3c2
(22 rows)
-- No. J-3-2-2
duplication hint:
error hint:
- QUERY PLAN
----------------------------------------
+ QUERY PLAN
+------------------------------------
Hash Join
Hash Cond: (p2.c1 = p1.c1)
-> Append
-> Seq Scan on p2
- -> Seq Scan on p2c1 p2
- -> Seq Scan on p2c2 p2
- -> Seq Scan on p2c3 p2
- -> Seq Scan on p2c1c1 p2
- -> Seq Scan on p2c1c2 p2
- -> Seq Scan on p2c2c1 p2
- -> Seq Scan on p2c2c2 p2
- -> Seq Scan on p2c3c1 p2
- -> Seq Scan on p2c3c2 p2
+ -> Seq Scan on p2c1
+ -> Seq Scan on p2c2
+ -> Seq Scan on p2c3
+ -> Seq Scan on p2c1c1
+ -> Seq Scan on p2c1c2
+ -> Seq Scan on p2c2c1
+ -> Seq Scan on p2c2c2
+ -> Seq Scan on p2c3c1
+ -> Seq Scan on p2c3c2
-> Hash
-> Append
-> Seq Scan on p1
- -> Seq Scan on p1c1 p1
- -> Seq Scan on p1c2 p1
- -> Seq Scan on p1c3 p1
+ -> Seq Scan on p1c1
+ -> Seq Scan on p1c2
+ -> Seq Scan on p1c3
(19 rows)
----
Append (cost=0.00..2.75 rows=4 width=10)
-> Seq Scan on p1 (cost=0.00..0.00 rows=1 width=32)
Filter: ((c1 < 10) AND ((c2 * 2) < 100))
- -> Seq Scan on p1c1 p1 (cost=0.00..2.75 rows=3 width=2)
+ -> Seq Scan on p1c1 (cost=0.00..2.75 rows=3 width=2)
Filter: ((c1 < 10) AND ((c2 * 2) < 100))
(5 rows)
Append (cost=0.12..20.48 rows=4 width=10)
-> Index Scan using p1_parent on p1 (cost=0.12..8.15 rows=1 width=32)
Filter: ((c2 * 2) < 100)
- -> Index Scan using p1c1_c4_expr_idx on p1c1 p1 (cost=0.14..12.34 rows=3 width=2)
+ -> Index Scan using p1c1_c4_expr_idx on p1c1 (cost=0.14..12.34 rows=3 width=2)
Filter: ((c2 * 2) < 100)
(5 rows)
Index Cond: (c2 = 1)
-> Seq Scan on p1c1 (cost=10000000000.00..10000000002.25 rows=1 width=4)
Filter: (c2 = 1)
- -> Seq Scan on p1c2 p1 (cost=10000000000.00..10000000002.25 rows=1 width=4)
+ -> Seq Scan on p1c2 (cost=10000000000.00..10000000002.25 rows=1 width=4)
Filter: (c2 = 1)
- -> Seq Scan on p1c3 p1 (cost=10000000000.00..10000000002.25 rows=1 width=4)
+ -> Seq Scan on p1c3 (cost=10000000000.00..10000000002.25 rows=1 width=4)
Filter: (c2 = 1)
(9 rows)
Append (cost=10000000000.00..20000000009.77 rows=3 width=34)
-> Seq Scan on p2 (cost=10000000000.00..10000000000.00 rows=1 width=44)
Filter: (c1 = 1)
- -> Index Scan using p2c1_pkey on p2c1 p2 (cost=0.12..8.14 rows=1 width=44)
+ -> Index Scan using p2c1_pkey on p2c1 (cost=0.12..8.14 rows=1 width=44)
Index Cond: (c1 = 1)
- -> Seq Scan on p2c1c1 p2 (cost=10000000000.00..10000000001.62 rows=1 width=14)
+ -> Seq Scan on p2c1c1 (cost=10000000000.00..10000000001.62 rows=1 width=14)
Filter: (c1 = 1)
(7 rows)