QUERY PLAN
------------------------------------------------
Nested Loop
- Join Filter: (t1.c1 = t4.c1)
-> Merge Join
Merge Cond: (t1.c1 = t2.c1)
-> Merge Join
Sort Key: t2.c1
-> Seq Scan on t2
-> Index Scan using t4_i1 on t4
- Index Cond: (c1 = t3.c1)
-(13 rows)
+ Index Cond: (c1 = t1.c1)
+(12 rows)
----
---- No. J-1-6 object type for the hint
(19 rows)
----
+---- No. J-3-2-2 join partitioned tables
+----
+EXPLAIN (COSTS false) SELECT * FROM s1.pt1, s1.p2 WHERE pt1.c1 = p2.c1;
+ QUERY PLAN
+--------------------------------------
+ Hash Join
+ Hash Cond: (p2.c1 = pt1_c1.c1)
+ -> Append
+ -> Seq Scan on 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 pt1_c1
+ -> Seq Scan on pt1_c2
+ -> Seq Scan on pt1_c3
+(18 rows)
+
+/*+MergeJoin(pt1 p2)*/
+EXPLAIN (COSTS false) SELECT * FROM s1.pt1, s1.p2 WHERE pt1.c1 = p2.c1;
+LOG: pg_hint_plan:
+used hint:
+MergeJoin(p2 pt1)
+not used hint:
+duplication hint:
+error hint:
+
+ QUERY PLAN
+--------------------------------------
+ Merge Join
+ Merge Cond: (pt1_c1.c1 = p2.c1)
+ -> Sort
+ Sort Key: pt1_c1.c1
+ -> Append
+ -> Seq Scan on pt1_c1
+ -> Seq Scan on pt1_c2
+ -> Seq Scan on pt1_c3
+ -> Sort
+ Sort Key: p2.c1
+ -> Append
+ -> Seq Scan on 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
+(21 rows)
+
+/*+MergeJoin(pt1_c1 p2c1)*/ /* will ignored */
+EXPLAIN (COSTS false) SELECT * FROM s1.pt1, s1.p2 WHERE pt1.c1 = p2.c1;
+LOG: pg_hint_plan:
+used hint:
+not used hint:
+MergeJoin(p2c1 pt1_c1)
+duplication hint:
+error hint:
+
+ QUERY PLAN
+--------------------------------------
+ Hash Join
+ Hash Cond: (p2.c1 = pt1_c1.c1)
+ -> Append
+ -> Seq Scan on 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 pt1_c1
+ -> Seq Scan on pt1_c2
+ -> Seq Scan on pt1_c3
+(18 rows)
+
+----
---- No. J-3-3 conflict join method hint
----
EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1;