-> Index Scan using t2_pkey on t2
(4 rows)
+/*+SeqScan() */ SELECT 1;
+INFO: pg_hint_plan: hint syntax error at or near " "
+DETAIL: SeqScan hint requires a relation.
+LOG: pg_hint_plan:
+used hint:
+not used hint:
+duplication hint:
+error hint:
+SeqScan()
+
+ ?column?
+----------
+ 1
+(1 row)
+
/*+SeqScan(t1 t2)*/
EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
INFO: pg_hint_plan: hint syntax error at or near ""
Index Cond: (id = t1.id)
(5 rows)
+/*+ NestLoop() */ SELECT 1;
+INFO: pg_hint_plan: hint syntax error at or near " "
+DETAIL: NestLoop hint requires at least two relations.
+LOG: pg_hint_plan:
+used hint:
+not used hint:
+duplication hint:
+error hint:
+NestLoop()
+
+ ?column?
+----------
+ 1
+(1 row)
+
+/*+ NestLoop(x) */ SELECT 1;
+INFO: pg_hint_plan: hint syntax error at or near " "
+DETAIL: NestLoop hint requires at least two relations.
+LOG: pg_hint_plan:
+used hint:
+not used hint:
+duplication hint:
+error hint:
+NestLoop(x)
+
+ ?column?
+----------
+ 1
+(1 row)
+
/*+HashJoin(t1 t2)*/
EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
LOG: pg_hint_plan:
QUERY PLAN
-----------------------------------------------------------------------
Append
- -> Seq Scan on p1
+ -> Seq Scan on p1 p1_1
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p1_c1
+ -> Seq Scan on p1_c1 p1_2
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p1_c2
+ -> Seq Scan on p1_c2 p1_3
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p1_c3
+ -> Seq Scan on p1_c3 p1_4
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p1_c4
+ -> Seq Scan on p1_c4 p1_5
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p1_c1_c1
+ -> Seq Scan on p1_c1_c1 p1_6
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p1_c1_c2
+ -> Seq Scan on p1_c1_c2 p1_7
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p1_c3_c1
+ -> Seq Scan on p1_c3_c1 p1_8
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p1_c3_c2
+ -> Seq Scan on p1_c3_c2 p1_9
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
(19 rows)
QUERY PLAN
-----------------------------------------------------------------------
Append
- -> Seq Scan on p1
+ -> Seq Scan on p1 p1_1
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p1_c1
+ -> Seq Scan on p1_c1 p1_2
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p1_c1_c1
+ -> Seq Scan on p1_c1_c1 p1_3
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p1_c1_c2
+ -> Seq Scan on p1_c1_c2 p1_4
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
(9 rows)
QUERY PLAN
-----------------------------------------------------------------------
Append
- -> Seq Scan on p1
+ -> Seq Scan on p1 p1_1
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p1_c1
+ -> Seq Scan on p1_c1 p1_2
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p1_c2
+ -> Seq Scan on p1_c2 p1_3
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p1_c3
+ -> Seq Scan on p1_c3 p1_4
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p1_c4
+ -> Seq Scan on p1_c4 p1_5
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p1_c1_c1
+ -> Seq Scan on p1_c1_c1 p1_6
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p1_c1_c2
+ -> Seq Scan on p1_c1_c2 p1_7
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p1_c3_c1
+ -> Seq Scan on p1_c3_c1 p1_8
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p1_c3_c2
+ -> Seq Scan on p1_c3_c2 p1_9
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
(19 rows)
duplication hint:
error hint:
- QUERY PLAN
---------------------------------------------------
+ QUERY PLAN
+-------------------------------------------------------
Append
- -> Index Scan using p1_pkey on p1
+ -> Index Scan using p1_pkey on p1 p1_1
Index Cond: ((id >= 50) AND (id <= 51))
Filter: (ctid = '(1,1)'::tid)
- -> Index Scan using p1_c1_pkey on p1_c1
+ -> Index Scan using p1_c1_pkey on p1_c1 p1_2
Index Cond: ((id >= 50) AND (id <= 51))
Filter: (ctid = '(1,1)'::tid)
- -> Index Scan using p1_c2_pkey on p1_c2
+ -> Index Scan using p1_c2_pkey on p1_c2 p1_3
Index Cond: ((id >= 50) AND (id <= 51))
Filter: (ctid = '(1,1)'::tid)
- -> Index Scan using p1_c3_pkey on p1_c3
+ -> Index Scan using p1_c3_pkey on p1_c3 p1_4
Index Cond: ((id >= 50) AND (id <= 51))
Filter: (ctid = '(1,1)'::tid)
- -> Index Scan using p1_c4_pkey on p1_c4
+ -> Index Scan using p1_c4_pkey on p1_c4 p1_5
Index Cond: ((id >= 50) AND (id <= 51))
Filter: (ctid = '(1,1)'::tid)
- -> Index Scan using p1_c1_c1_pkey on p1_c1_c1
+ -> Index Scan using p1_c1_c1_pkey on p1_c1_c1 p1_6
Index Cond: ((id >= 50) AND (id <= 51))
Filter: (ctid = '(1,1)'::tid)
- -> Index Scan using p1_c1_c2_pkey on p1_c1_c2
+ -> Index Scan using p1_c1_c2_pkey on p1_c1_c2 p1_7
Index Cond: ((id >= 50) AND (id <= 51))
Filter: (ctid = '(1,1)'::tid)
- -> Index Scan using p1_c3_c1_pkey on p1_c3_c1
+ -> Index Scan using p1_c3_c1_pkey on p1_c3_c1 p1_8
Index Cond: ((id >= 50) AND (id <= 51))
Filter: (ctid = '(1,1)'::tid)
- -> Index Scan using p1_c3_c2_pkey on p1_c3_c2
+ -> Index Scan using p1_c3_c2_pkey on p1_c3_c2 p1_9
Index Cond: ((id >= 50) AND (id <= 51))
Filter: (ctid = '(1,1)'::tid)
(28 rows)
QUERY PLAN
-------------------------------------------------------
Append
- -> Bitmap Heap Scan on p1
+ -> Bitmap Heap Scan on p1 p1_1
Recheck Cond: ((id >= 50) AND (id <= 51))
Filter: (ctid = '(1,1)'::tid)
-> Bitmap Index Scan on p1_pkey
Index Cond: ((id >= 50) AND (id <= 51))
- -> Bitmap Heap Scan on p1_c1
+ -> Bitmap Heap Scan on p1_c1 p1_2
Recheck Cond: ((id >= 50) AND (id <= 51))
Filter: (ctid = '(1,1)'::tid)
-> Bitmap Index Scan on p1_c1_pkey
Index Cond: ((id >= 50) AND (id <= 51))
- -> Bitmap Heap Scan on p1_c2
+ -> Bitmap Heap Scan on p1_c2 p1_3
Recheck Cond: ((id >= 50) AND (id <= 51))
Filter: (ctid = '(1,1)'::tid)
-> Bitmap Index Scan on p1_c2_pkey
Index Cond: ((id >= 50) AND (id <= 51))
- -> Bitmap Heap Scan on p1_c3
+ -> Bitmap Heap Scan on p1_c3 p1_4
Recheck Cond: ((id >= 50) AND (id <= 51))
Filter: (ctid = '(1,1)'::tid)
-> Bitmap Index Scan on p1_c3_pkey
Index Cond: ((id >= 50) AND (id <= 51))
- -> Bitmap Heap Scan on p1_c4
+ -> Bitmap Heap Scan on p1_c4 p1_5
Recheck Cond: ((id >= 50) AND (id <= 51))
Filter: (ctid = '(1,1)'::tid)
-> Bitmap Index Scan on p1_c4_pkey
Index Cond: ((id >= 50) AND (id <= 51))
- -> Bitmap Heap Scan on p1_c1_c1
+ -> Bitmap Heap Scan on p1_c1_c1 p1_6
Recheck Cond: ((id >= 50) AND (id <= 51))
Filter: (ctid = '(1,1)'::tid)
-> Bitmap Index Scan on p1_c1_c1_pkey
Index Cond: ((id >= 50) AND (id <= 51))
- -> Bitmap Heap Scan on p1_c1_c2
+ -> Bitmap Heap Scan on p1_c1_c2 p1_7
Recheck Cond: ((id >= 50) AND (id <= 51))
Filter: (ctid = '(1,1)'::tid)
-> Bitmap Index Scan on p1_c1_c2_pkey
Index Cond: ((id >= 50) AND (id <= 51))
- -> Bitmap Heap Scan on p1_c3_c1
+ -> Bitmap Heap Scan on p1_c3_c1 p1_8
Recheck Cond: ((id >= 50) AND (id <= 51))
Filter: (ctid = '(1,1)'::tid)
-> Bitmap Index Scan on p1_c3_c1_pkey
Index Cond: ((id >= 50) AND (id <= 51))
- -> Bitmap Heap Scan on p1_c3_c2
+ -> Bitmap Heap Scan on p1_c3_c2 p1_9
Recheck Cond: ((id >= 50) AND (id <= 51))
Filter: (ctid = '(1,1)'::tid)
-> Bitmap Index Scan on p1_c3_c2_pkey
QUERY PLAN
---------------------------------------------
Append
- -> Tid Scan on p1
+ -> Tid Scan on p1 p1_1
TID Cond: (ctid = '(1,1)'::tid)
Filter: ((id >= 50) AND (id <= 51))
- -> Tid Scan on p1_c1
+ -> Tid Scan on p1_c1 p1_2
TID Cond: (ctid = '(1,1)'::tid)
Filter: ((id >= 50) AND (id <= 51))
- -> Tid Scan on p1_c2
+ -> Tid Scan on p1_c2 p1_3
TID Cond: (ctid = '(1,1)'::tid)
Filter: ((id >= 50) AND (id <= 51))
- -> Tid Scan on p1_c3
+ -> Tid Scan on p1_c3 p1_4
TID Cond: (ctid = '(1,1)'::tid)
Filter: ((id >= 50) AND (id <= 51))
- -> Tid Scan on p1_c4
+ -> Tid Scan on p1_c4 p1_5
TID Cond: (ctid = '(1,1)'::tid)
Filter: ((id >= 50) AND (id <= 51))
- -> Tid Scan on p1_c1_c1
+ -> Tid Scan on p1_c1_c1 p1_6
TID Cond: (ctid = '(1,1)'::tid)
Filter: ((id >= 50) AND (id <= 51))
- -> Tid Scan on p1_c1_c2
+ -> Tid Scan on p1_c1_c2 p1_7
TID Cond: (ctid = '(1,1)'::tid)
Filter: ((id >= 50) AND (id <= 51))
- -> Tid Scan on p1_c3_c1
+ -> Tid Scan on p1_c3_c1 p1_8
TID Cond: (ctid = '(1,1)'::tid)
Filter: ((id >= 50) AND (id <= 51))
- -> Tid Scan on p1_c3_c2
+ -> Tid Scan on p1_c3_c2 p1_9
TID Cond: (ctid = '(1,1)'::tid)
Filter: ((id >= 50) AND (id <= 51))
(28 rows)
QUERY PLAN
-----------------------------------------------------------------------
Append
- -> Seq Scan on p1
+ -> Seq Scan on p1 p1_1
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p1_c1
+ -> Seq Scan on p1_c1 p1_2
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p1_c1_c1
+ -> Seq Scan on p1_c1_c1 p1_3
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p1_c1_c2
+ -> Seq Scan on p1_c1_c2 p1_4
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
(9 rows)
duplication hint:
error hint:
- QUERY PLAN
---------------------------------------------------
+ QUERY PLAN
+-------------------------------------------------------
Append
- -> Index Scan using p1_pkey on p1
+ -> Index Scan using p1_pkey on p1 p1_1
Index Cond: ((id >= 50) AND (id <= 51))
Filter: (ctid = '(1,1)'::tid)
- -> Index Scan using p1_c1_pkey on p1_c1
+ -> Index Scan using p1_c1_pkey on p1_c1 p1_2
Index Cond: ((id >= 50) AND (id <= 51))
Filter: (ctid = '(1,1)'::tid)
- -> Index Scan using p1_c1_c1_pkey on p1_c1_c1
+ -> Index Scan using p1_c1_c1_pkey on p1_c1_c1 p1_3
Index Cond: ((id >= 50) AND (id <= 51))
Filter: (ctid = '(1,1)'::tid)
- -> Index Scan using p1_c1_c2_pkey on p1_c1_c2
+ -> Index Scan using p1_c1_c2_pkey on p1_c1_c2 p1_4
Index Cond: ((id >= 50) AND (id <= 51))
Filter: (ctid = '(1,1)'::tid)
(13 rows)
QUERY PLAN
-------------------------------------------------------
Append
- -> Bitmap Heap Scan on p1
+ -> Bitmap Heap Scan on p1 p1_1
Recheck Cond: ((id >= 50) AND (id <= 51))
Filter: (ctid = '(1,1)'::tid)
-> Bitmap Index Scan on p1_pkey
Index Cond: ((id >= 50) AND (id <= 51))
- -> Bitmap Heap Scan on p1_c1
+ -> Bitmap Heap Scan on p1_c1 p1_2
Recheck Cond: ((id >= 50) AND (id <= 51))
Filter: (ctid = '(1,1)'::tid)
-> Bitmap Index Scan on p1_c1_pkey
Index Cond: ((id >= 50) AND (id <= 51))
- -> Bitmap Heap Scan on p1_c1_c1
+ -> Bitmap Heap Scan on p1_c1_c1 p1_3
Recheck Cond: ((id >= 50) AND (id <= 51))
Filter: (ctid = '(1,1)'::tid)
-> Bitmap Index Scan on p1_c1_c1_pkey
Index Cond: ((id >= 50) AND (id <= 51))
- -> Bitmap Heap Scan on p1_c1_c2
+ -> Bitmap Heap Scan on p1_c1_c2 p1_4
Recheck Cond: ((id >= 50) AND (id <= 51))
Filter: (ctid = '(1,1)'::tid)
-> Bitmap Index Scan on p1_c1_c2_pkey
QUERY PLAN
---------------------------------------------
Append
- -> Tid Scan on p1
+ -> Tid Scan on p1 p1_1
TID Cond: (ctid = '(1,1)'::tid)
Filter: ((id >= 50) AND (id <= 51))
- -> Tid Scan on p1_c1
+ -> Tid Scan on p1_c1 p1_2
TID Cond: (ctid = '(1,1)'::tid)
Filter: ((id >= 50) AND (id <= 51))
- -> Tid Scan on p1_c1_c1
+ -> Tid Scan on p1_c1_c1 p1_3
TID Cond: (ctid = '(1,1)'::tid)
Filter: ((id >= 50) AND (id <= 51))
- -> Tid Scan on p1_c1_c2
+ -> Tid Scan on p1_c1_c2 p1_4
TID Cond: (ctid = '(1,1)'::tid)
Filter: ((id >= 50) AND (id <= 51))
(13 rows)
-> Sort
Sort Key: p1.id
-> Append
- -> Seq Scan on p1
+ -> Seq Scan on p1 p1_1
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p1_c1
+ -> Seq Scan on p1_c1 p1_2
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p1_c2
+ -> Seq Scan on p1_c2 p1_3
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p1_c3
+ -> Seq Scan on p1_c3 p1_4
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p1_c4
+ -> Seq Scan on p1_c4 p1_5
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p1_c1_c1
+ -> Seq Scan on p1_c1_c1 p1_6
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p1_c1_c2
+ -> Seq Scan on p1_c1_c2 p1_7
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p1_c3_c1
+ -> Seq Scan on p1_c3_c1 p1_8
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p1_c3_c2
+ -> Seq Scan on p1_c3_c2 p1_9
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
-> Index Scan using t1_pkey on t1
Index Cond: (id < 10)
-> Sort
Sort Key: p1.id
-> Append
- -> Seq Scan on p1
+ -> Seq Scan on p1 p1_1
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p1_c1
+ -> Seq Scan on p1_c1 p1_2
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p1_c1_c1
+ -> Seq Scan on p1_c1_c1 p1_3
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p1_c1_c2
+ -> Seq Scan on p1_c1_c2 p1_4
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
-> Index Scan using t1_pkey on t1
Index Cond: (id < 10)
-> Sort
Sort Key: p1.id
-> Append
- -> Seq Scan on p1
+ -> Seq Scan on p1 p1_1
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p1_c1
+ -> Seq Scan on p1_c1 p1_2
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p1_c2
+ -> Seq Scan on p1_c2 p1_3
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p1_c3
+ -> Seq Scan on p1_c3 p1_4
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p1_c4
+ -> Seq Scan on p1_c4 p1_5
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p1_c1_c1
+ -> Seq Scan on p1_c1_c1 p1_6
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p1_c1_c2
+ -> Seq Scan on p1_c1_c2 p1_7
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p1_c3_c1
+ -> Seq Scan on p1_c3_c1 p1_8
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p1_c3_c2
+ -> Seq Scan on p1_c3_c2 p1_9
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
-> Index Scan using t1_pkey on t1
Index Cond: (id < 10)
duplication hint:
error hint:
- QUERY PLAN
---------------------------------------------------------
+ QUERY PLAN
+-------------------------------------------------------------
Merge Join
Merge Cond: (p1.id = t1.id)
-> Merge Append
Sort Key: p1.id
- -> Index Scan using p1_pkey on p1
+ -> Index Scan using p1_pkey on p1 p1_1
Index Cond: ((id >= 50) AND (id <= 51))
Filter: (ctid = '(1,1)'::tid)
- -> Index Scan using p1_c1_pkey on p1_c1
+ -> Index Scan using p1_c1_pkey on p1_c1 p1_2
Index Cond: ((id >= 50) AND (id <= 51))
Filter: (ctid = '(1,1)'::tid)
- -> Index Scan using p1_c2_pkey on p1_c2
+ -> Index Scan using p1_c2_pkey on p1_c2 p1_3
Index Cond: ((id >= 50) AND (id <= 51))
Filter: (ctid = '(1,1)'::tid)
- -> Index Scan using p1_c3_pkey on p1_c3
+ -> Index Scan using p1_c3_pkey on p1_c3 p1_4
Index Cond: ((id >= 50) AND (id <= 51))
Filter: (ctid = '(1,1)'::tid)
- -> Index Scan using p1_c4_pkey on p1_c4
+ -> Index Scan using p1_c4_pkey on p1_c4 p1_5
Index Cond: ((id >= 50) AND (id <= 51))
Filter: (ctid = '(1,1)'::tid)
- -> Index Scan using p1_c1_c1_pkey on p1_c1_c1
+ -> Index Scan using p1_c1_c1_pkey on p1_c1_c1 p1_6
Index Cond: ((id >= 50) AND (id <= 51))
Filter: (ctid = '(1,1)'::tid)
- -> Index Scan using p1_c1_c2_pkey on p1_c1_c2
+ -> Index Scan using p1_c1_c2_pkey on p1_c1_c2 p1_7
Index Cond: ((id >= 50) AND (id <= 51))
Filter: (ctid = '(1,1)'::tid)
- -> Index Scan using p1_c3_c1_pkey on p1_c3_c1
+ -> Index Scan using p1_c3_c1_pkey on p1_c3_c1 p1_8
Index Cond: ((id >= 50) AND (id <= 51))
Filter: (ctid = '(1,1)'::tid)
- -> Index Scan using p1_c3_c2_pkey on p1_c3_c2
+ -> Index Scan using p1_c3_c2_pkey on p1_c3_c2 p1_9
Index Cond: ((id >= 50) AND (id <= 51))
Filter: (ctid = '(1,1)'::tid)
-> Index Scan using t1_pkey on t1
-> Sort
Sort Key: p1.id
-> Append
- -> Bitmap Heap Scan on p1
+ -> Bitmap Heap Scan on p1 p1_1
Recheck Cond: ((id >= 50) AND (id <= 51))
Filter: (ctid = '(1,1)'::tid)
-> Bitmap Index Scan on p1_pkey
Index Cond: ((id >= 50) AND (id <= 51))
- -> Bitmap Heap Scan on p1_c1
+ -> Bitmap Heap Scan on p1_c1 p1_2
Recheck Cond: ((id >= 50) AND (id <= 51))
Filter: (ctid = '(1,1)'::tid)
-> Bitmap Index Scan on p1_c1_pkey
Index Cond: ((id >= 50) AND (id <= 51))
- -> Bitmap Heap Scan on p1_c2
+ -> Bitmap Heap Scan on p1_c2 p1_3
Recheck Cond: ((id >= 50) AND (id <= 51))
Filter: (ctid = '(1,1)'::tid)
-> Bitmap Index Scan on p1_c2_pkey
Index Cond: ((id >= 50) AND (id <= 51))
- -> Bitmap Heap Scan on p1_c3
+ -> Bitmap Heap Scan on p1_c3 p1_4
Recheck Cond: ((id >= 50) AND (id <= 51))
Filter: (ctid = '(1,1)'::tid)
-> Bitmap Index Scan on p1_c3_pkey
Index Cond: ((id >= 50) AND (id <= 51))
- -> Bitmap Heap Scan on p1_c4
+ -> Bitmap Heap Scan on p1_c4 p1_5
Recheck Cond: ((id >= 50) AND (id <= 51))
Filter: (ctid = '(1,1)'::tid)
-> Bitmap Index Scan on p1_c4_pkey
Index Cond: ((id >= 50) AND (id <= 51))
- -> Bitmap Heap Scan on p1_c1_c1
+ -> Bitmap Heap Scan on p1_c1_c1 p1_6
Recheck Cond: ((id >= 50) AND (id <= 51))
Filter: (ctid = '(1,1)'::tid)
-> Bitmap Index Scan on p1_c1_c1_pkey
Index Cond: ((id >= 50) AND (id <= 51))
- -> Bitmap Heap Scan on p1_c1_c2
+ -> Bitmap Heap Scan on p1_c1_c2 p1_7
Recheck Cond: ((id >= 50) AND (id <= 51))
Filter: (ctid = '(1,1)'::tid)
-> Bitmap Index Scan on p1_c1_c2_pkey
Index Cond: ((id >= 50) AND (id <= 51))
- -> Bitmap Heap Scan on p1_c3_c1
+ -> Bitmap Heap Scan on p1_c3_c1 p1_8
Recheck Cond: ((id >= 50) AND (id <= 51))
Filter: (ctid = '(1,1)'::tid)
-> Bitmap Index Scan on p1_c3_c1_pkey
Index Cond: ((id >= 50) AND (id <= 51))
- -> Bitmap Heap Scan on p1_c3_c2
+ -> Bitmap Heap Scan on p1_c3_c2 p1_9
Recheck Cond: ((id >= 50) AND (id <= 51))
Filter: (ctid = '(1,1)'::tid)
-> Bitmap Index Scan on p1_c3_c2_pkey
-> Sort
Sort Key: p1.id
-> Append
- -> Tid Scan on p1
+ -> Tid Scan on p1 p1_1
TID Cond: (ctid = '(1,1)'::tid)
Filter: ((id >= 50) AND (id <= 51))
- -> Tid Scan on p1_c1
+ -> Tid Scan on p1_c1 p1_2
TID Cond: (ctid = '(1,1)'::tid)
Filter: ((id >= 50) AND (id <= 51))
- -> Tid Scan on p1_c2
+ -> Tid Scan on p1_c2 p1_3
TID Cond: (ctid = '(1,1)'::tid)
Filter: ((id >= 50) AND (id <= 51))
- -> Tid Scan on p1_c3
+ -> Tid Scan on p1_c3 p1_4
TID Cond: (ctid = '(1,1)'::tid)
Filter: ((id >= 50) AND (id <= 51))
- -> Tid Scan on p1_c4
+ -> Tid Scan on p1_c4 p1_5
TID Cond: (ctid = '(1,1)'::tid)
Filter: ((id >= 50) AND (id <= 51))
- -> Tid Scan on p1_c1_c1
+ -> Tid Scan on p1_c1_c1 p1_6
TID Cond: (ctid = '(1,1)'::tid)
Filter: ((id >= 50) AND (id <= 51))
- -> Tid Scan on p1_c1_c2
+ -> Tid Scan on p1_c1_c2 p1_7
TID Cond: (ctid = '(1,1)'::tid)
Filter: ((id >= 50) AND (id <= 51))
- -> Tid Scan on p1_c3_c1
+ -> Tid Scan on p1_c3_c1 p1_8
TID Cond: (ctid = '(1,1)'::tid)
Filter: ((id >= 50) AND (id <= 51))
- -> Tid Scan on p1_c3_c2
+ -> Tid Scan on p1_c3_c2 p1_9
TID Cond: (ctid = '(1,1)'::tid)
Filter: ((id >= 50) AND (id <= 51))
-> Index Scan using t1_pkey on t1
Nested Loop
Join Filter: (p1.id = t1.id)
-> Append
- -> Seq Scan on p1
+ -> Seq Scan on p1 p1_1
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p1_c1
+ -> Seq Scan on p1_c1 p1_2
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p1_c2
+ -> Seq Scan on p1_c2 p1_3
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p1_c3
+ -> Seq Scan on p1_c3 p1_4
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p1_c4
+ -> Seq Scan on p1_c4 p1_5
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p1_c1_c1
+ -> Seq Scan on p1_c1_c1 p1_6
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p1_c1_c2
+ -> Seq Scan on p1_c1_c2 p1_7
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p1_c3_c1
+ -> Seq Scan on p1_c3_c1 p1_8
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p1_c3_c2
+ -> Seq Scan on p1_c3_c2 p1_9
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
-> Materialize
-> Index Scan using t1_pkey on t1
-> Sort
Sort Key: p1.id
-> Append
- -> Seq Scan on p1
+ -> Seq Scan on p1 p1_1
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p1_c1
+ -> Seq Scan on p1_c1 p1_2
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p1_c2
+ -> Seq Scan on p1_c2 p1_3
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p1_c3
+ -> Seq Scan on p1_c3 p1_4
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p1_c4
+ -> Seq Scan on p1_c4 p1_5
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p1_c1_c1
+ -> Seq Scan on p1_c1_c1 p1_6
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p1_c1_c2
+ -> Seq Scan on p1_c1_c2 p1_7
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p1_c3_c1
+ -> Seq Scan on p1_c3_c1 p1_8
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p1_c3_c2
+ -> Seq Scan on p1_c3_c2 p1_9
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
-> Index Scan using t1_pkey on t1
Index Cond: (id < 10)
Hash Join
Hash Cond: (p1.id = t1.id)
-> Append
- -> Seq Scan on p1
+ -> Seq Scan on p1 p1_1
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p1_c1
+ -> Seq Scan on p1_c1 p1_2
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p1_c2
+ -> Seq Scan on p1_c2 p1_3
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p1_c3
+ -> Seq Scan on p1_c3 p1_4
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p1_c4
+ -> Seq Scan on p1_c4 p1_5
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p1_c1_c1
+ -> Seq Scan on p1_c1_c1 p1_6
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p1_c1_c2
+ -> Seq Scan on p1_c1_c2 p1_7
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p1_c3_c1
+ -> Seq Scan on p1_c3_c1 p1_8
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p1_c3_c2
+ -> Seq Scan on p1_c3_c2 p1_9
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
-> Hash
-> Index Scan using t1_pkey on t1
-> Sort
Sort Key: p1.id
-> Append
- -> Seq Scan on p1
+ -> Seq Scan on p1 p1_1
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p1_c1
+ -> Seq Scan on p1_c1 p1_2
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p1_c1_c1
+ -> Seq Scan on p1_c1_c1 p1_3
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p1_c1_c2
+ -> Seq Scan on p1_c1_c2 p1_4
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
-> Index Scan using t1_pkey on t1
Index Cond: (id < 10)
duplication hint:
error hint:
- QUERY PLAN
---------------------------------------------------------
+ QUERY PLAN
+-------------------------------------------------------------
Merge Join
Merge Cond: (p1.id = t1.id)
-> Merge Append
Sort Key: p1.id
- -> Index Scan using p1_pkey on p1
+ -> Index Scan using p1_pkey on p1 p1_1
Index Cond: ((id >= 50) AND (id <= 51))
Filter: (ctid = '(1,1)'::tid)
- -> Index Scan using p1_c1_pkey on p1_c1
+ -> Index Scan using p1_c1_pkey on p1_c1 p1_2
Index Cond: ((id >= 50) AND (id <= 51))
Filter: (ctid = '(1,1)'::tid)
- -> Index Scan using p1_c1_c1_pkey on p1_c1_c1
+ -> Index Scan using p1_c1_c1_pkey on p1_c1_c1 p1_3
Index Cond: ((id >= 50) AND (id <= 51))
Filter: (ctid = '(1,1)'::tid)
- -> Index Scan using p1_c1_c2_pkey on p1_c1_c2
+ -> Index Scan using p1_c1_c2_pkey on p1_c1_c2 p1_4
Index Cond: ((id >= 50) AND (id <= 51))
Filter: (ctid = '(1,1)'::tid)
-> Index Scan using t1_pkey on t1
-> Sort
Sort Key: p1.id
-> Append
- -> Bitmap Heap Scan on p1
+ -> Bitmap Heap Scan on p1 p1_1
Recheck Cond: ((id >= 50) AND (id <= 51))
Filter: (ctid = '(1,1)'::tid)
-> Bitmap Index Scan on p1_pkey
Index Cond: ((id >= 50) AND (id <= 51))
- -> Bitmap Heap Scan on p1_c1
+ -> Bitmap Heap Scan on p1_c1 p1_2
Recheck Cond: ((id >= 50) AND (id <= 51))
Filter: (ctid = '(1,1)'::tid)
-> Bitmap Index Scan on p1_c1_pkey
Index Cond: ((id >= 50) AND (id <= 51))
- -> Bitmap Heap Scan on p1_c1_c1
+ -> Bitmap Heap Scan on p1_c1_c1 p1_3
Recheck Cond: ((id >= 50) AND (id <= 51))
Filter: (ctid = '(1,1)'::tid)
-> Bitmap Index Scan on p1_c1_c1_pkey
Index Cond: ((id >= 50) AND (id <= 51))
- -> Bitmap Heap Scan on p1_c1_c2
+ -> Bitmap Heap Scan on p1_c1_c2 p1_4
Recheck Cond: ((id >= 50) AND (id <= 51))
Filter: (ctid = '(1,1)'::tid)
-> Bitmap Index Scan on p1_c1_c2_pkey
-> Sort
Sort Key: p1.id
-> Append
- -> Tid Scan on p1
+ -> Tid Scan on p1 p1_1
TID Cond: (ctid = '(1,1)'::tid)
Filter: ((id >= 50) AND (id <= 51))
- -> Tid Scan on p1_c1
+ -> Tid Scan on p1_c1 p1_2
TID Cond: (ctid = '(1,1)'::tid)
Filter: ((id >= 50) AND (id <= 51))
- -> Tid Scan on p1_c1_c1
+ -> Tid Scan on p1_c1_c1 p1_3
TID Cond: (ctid = '(1,1)'::tid)
Filter: ((id >= 50) AND (id <= 51))
- -> Tid Scan on p1_c1_c2
+ -> Tid Scan on p1_c1_c2 p1_4
TID Cond: (ctid = '(1,1)'::tid)
Filter: ((id >= 50) AND (id <= 51))
-> Index Scan using t1_pkey on t1
Index Cond: (id < 10)
-> Materialize
-> Append
- -> Seq Scan on p1
+ -> Seq Scan on p1 p1_1
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p1_c1
+ -> Seq Scan on p1_c1 p1_2
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p1_c1_c1
+ -> Seq Scan on p1_c1_c1 p1_3
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p1_c1_c2
+ -> Seq Scan on p1_c1_c2 p1_4
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
(14 rows)
-> Sort
Sort Key: p1.id
-> Append
- -> Seq Scan on p1
+ -> Seq Scan on p1 p1_1
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p1_c1
+ -> Seq Scan on p1_c1 p1_2
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p1_c1_c1
+ -> Seq Scan on p1_c1_c1 p1_3
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p1_c1_c2
+ -> Seq Scan on p1_c1_c2 p1_4
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
-> Index Scan using t1_pkey on t1
Index Cond: (id < 10)
Index Cond: (id < 10)
-> Hash
-> Append
- -> Seq Scan on p1
+ -> Seq Scan on p1 p1_1
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p1_c1
+ -> Seq Scan on p1_c1 p1_2
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p1_c1_c1
+ -> Seq Scan on p1_c1_c1 p1_3
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p1_c1_c2
+ -> Seq Scan on p1_c1_c2 p1_4
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
(14 rows)
/*+ Set(enable_seqscan 100)Set(seq_page_cost on)*/
EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
INFO: parameter "enable_seqscan" requires a Boolean value
-INFO: parameter "seq_page_cost" requires a numeric value
+INFO: invalid value for parameter "seq_page_cost": "on"
LOG: pg_hint_plan:
used hint:
not used hint:
QUERY PLAN
-----------------------------------------------------------------------
Append
- -> Seq Scan on p2
+ -> Seq Scan on p2 p2_1
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p2_c1
+ -> Seq Scan on p2_c1 p2_2
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p2_c1_c1
+ -> Seq Scan on p2_c1_c1 p2_3
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p2_c1_c2
+ -> Seq Scan on p2_c1_c2 p2_4
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
(9 rows)
duplication hint:
error hint:
- QUERY PLAN
---------------------------------------------------
+ QUERY PLAN
+-------------------------------------------------------
Append
- -> Index Scan using p2_pkey on p2
+ -> Index Scan using p2_pkey on p2 p2_1
Index Cond: ((id >= 50) AND (id <= 51))
Filter: (ctid = '(1,1)'::tid)
- -> Index Scan using p2_c1_pkey on p2_c1
+ -> Index Scan using p2_c1_pkey on p2_c1 p2_2
Index Cond: ((id >= 50) AND (id <= 51))
Filter: (ctid = '(1,1)'::tid)
- -> Index Scan using p2_c1_c1_pkey on p2_c1_c1
+ -> Index Scan using p2_c1_c1_pkey on p2_c1_c1 p2_3
Index Cond: ((id >= 50) AND (id <= 51))
Filter: (ctid = '(1,1)'::tid)
- -> Index Scan using p2_c1_c2_pkey on p2_c1_c2
+ -> Index Scan using p2_c1_c2_pkey on p2_c1_c2 p2_4
Index Cond: ((id >= 50) AND (id <= 51))
Filter: (ctid = '(1,1)'::tid)
(13 rows)
duplication hint:
error hint:
- QUERY PLAN
---------------------------------------------------------
+ QUERY PLAN
+-------------------------------------------------------------
Append
- -> Index Scan using p2_id_val_idx on p2
+ -> Index Scan using p2_id_val_idx on p2 p2_1
Index Cond: ((id >= 50) AND (id <= 51))
Filter: (ctid = '(1,1)'::tid)
- -> Index Scan using p2_c1_id_val_idx on p2_c1
+ -> Index Scan using p2_c1_id_val_idx on p2_c1 p2_2
Index Cond: ((id >= 50) AND (id <= 51))
Filter: (ctid = '(1,1)'::tid)
- -> Index Scan using p2_c1_c1_id_val_idx on p2_c1_c1
+ -> Index Scan using p2_c1_c1_id_val_idx on p2_c1_c1 p2_3
Index Cond: ((id >= 50) AND (id <= 51))
Filter: (ctid = '(1,1)'::tid)
- -> Index Scan using p2_c1_c2_id_val_idx on p2_c1_c2
+ -> Index Scan using p2_c1_c2_id_val_idx on p2_c1_c2 p2_4
Index Cond: ((id >= 50) AND (id <= 51))
Filter: (ctid = '(1,1)'::tid)
(13 rows)
duplication hint:
error hint:
- QUERY PLAN
---------------------------------------------------------
+ QUERY PLAN
+-------------------------------------------------------------
Append
- -> Index Scan using p2_val_id_idx on p2
+ -> Index Scan using p2_val_id_idx on p2 p2_1
Index Cond: ((id >= 50) AND (id <= 51))
Filter: (ctid = '(1,1)'::tid)
- -> Index Scan using p2_c1_val_id_idx on p2_c1
+ -> Index Scan using p2_c1_val_id_idx on p2_c1 p2_2
Index Cond: ((id >= 50) AND (id <= 51))
Filter: (ctid = '(1,1)'::tid)
- -> Index Scan using p2_c1_c1_val_id_idx on p2_c1_c1
+ -> Index Scan using p2_c1_c1_val_id_idx on p2_c1_c1 p2_3
Index Cond: ((id >= 50) AND (id <= 51))
Filter: (ctid = '(1,1)'::tid)
- -> Index Scan using p2_c1_c2_val_id_idx on p2_c1_c2
+ -> Index Scan using p2_c1_c2_val_id_idx on p2_c1_c2 p2_4
Index Cond: ((id >= 50) AND (id <= 51))
Filter: (ctid = '(1,1)'::tid)
(13 rows)
QUERY PLAN
-----------------------------------------------------------------------------------------
Append
- -> Seq Scan on p2
+ -> Seq Scan on p2 p2_1
Filter: ((val >= '50'::text) AND (val <= '51'::text) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p2_c1
+ -> Seq Scan on p2_c1 p2_2
Filter: ((val >= '50'::text) AND (val <= '51'::text) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p2_c2
+ -> Seq Scan on p2_c2 p2_3
Filter: ((val >= '50'::text) AND (val <= '51'::text) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p2_c3
+ -> Seq Scan on p2_c3 p2_4
Filter: ((val >= '50'::text) AND (val <= '51'::text) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p2_c4
+ -> Seq Scan on p2_c4 p2_5
Filter: ((val >= '50'::text) AND (val <= '51'::text) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p2_c1_c1
+ -> Seq Scan on p2_c1_c1 p2_6
Filter: ((val >= '50'::text) AND (val <= '51'::text) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p2_c1_c2
+ -> Seq Scan on p2_c1_c2 p2_7
Filter: ((val >= '50'::text) AND (val <= '51'::text) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p2_c3_c1
+ -> Seq Scan on p2_c3_c1 p2_8
Filter: ((val >= '50'::text) AND (val <= '51'::text) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p2_c3_c2
+ -> Seq Scan on p2_c3_c2 p2_9
Filter: ((val >= '50'::text) AND (val <= '51'::text) AND (ctid = '(1,1)'::tid))
(19 rows)
QUERY PLAN
-----------------------------------------------------------------------------------------
Append
- -> Seq Scan on p2
+ -> Seq Scan on p2 p2_1
Filter: ((val >= '50'::text) AND (val <= '51'::text) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p2_c1
+ -> Seq Scan on p2_c1 p2_2
Filter: ((val >= '50'::text) AND (val <= '51'::text) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p2_c2
+ -> Seq Scan on p2_c2 p2_3
Filter: ((val >= '50'::text) AND (val <= '51'::text) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p2_c3
+ -> Seq Scan on p2_c3 p2_4
Filter: ((val >= '50'::text) AND (val <= '51'::text) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p2_c4
+ -> Seq Scan on p2_c4 p2_5
Filter: ((val >= '50'::text) AND (val <= '51'::text) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p2_c1_c1
+ -> Seq Scan on p2_c1_c1 p2_6
Filter: ((val >= '50'::text) AND (val <= '51'::text) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p2_c1_c2
+ -> Seq Scan on p2_c1_c2 p2_7
Filter: ((val >= '50'::text) AND (val <= '51'::text) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p2_c3_c1
+ -> Seq Scan on p2_c3_c1 p2_8
Filter: ((val >= '50'::text) AND (val <= '51'::text) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p2_c3_c2
+ -> Seq Scan on p2_c3_c2 p2_9
Filter: ((val >= '50'::text) AND (val <= '51'::text) AND (ctid = '(1,1)'::tid))
(19 rows)
duplication hint:
error hint:
- QUERY PLAN
---------------------------------------------------
+ QUERY PLAN
+-------------------------------------------------------
Append
- -> Index Scan using p2_pkey on p2
+ -> Index Scan using p2_pkey on p2 p2_1
Index Cond: ((id >= 50) AND (id <= 51))
Filter: (ctid = '(1,1)'::tid)
- -> Index Scan using p2_c1_pkey on p2_c1
+ -> Index Scan using p2_c1_pkey on p2_c1 p2_2
Index Cond: ((id >= 50) AND (id <= 51))
Filter: (ctid = '(1,1)'::tid)
- -> Index Scan using p2_c1_c1_pkey on p2_c1_c1
+ -> Index Scan using p2_c1_c1_pkey on p2_c1_c1 p2_3
Index Cond: ((id >= 50) AND (id <= 51))
Filter: (ctid = '(1,1)'::tid)
- -> Index Scan using p2_c1_c2_pkey on p2_c1_c2
+ -> Index Scan using p2_c1_c2_pkey on p2_c1_c2 p2_4
Index Cond: ((id >= 50) AND (id <= 51))
Filter: (ctid = '(1,1)'::tid)
(13 rows)
QUERY PLAN
-----------------------------------------------------------------------
Append
- -> Index Scan using p2_id2_val on p2
+ -> Index Scan using p2_id2_val on p2 p2_1
Index Cond: ((id >= 50) AND (id <= 51))
Filter: (ctid = '(1,1)'::tid)
- -> Index Scan using p2_c1_id2_val on p2_c1
+ -> Index Scan using p2_c1_id2_val on p2_c1 p2_2
Index Cond: ((id >= 50) AND (id <= 51))
Filter: (ctid = '(1,1)'::tid)
- -> Seq Scan on p2_c1_c1
+ -> Seq Scan on p2_c1_c1 p2_3
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p2_c1_c2
+ -> Seq Scan on p2_c1_c2 p2_4
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
(11 rows)
QUERY PLAN
-----------------------------------------------------------------------
Append
- -> Index Scan using p2_val2_id on p2
+ -> Index Scan using p2_val2_id on p2 p2_1
Index Cond: ((id >= 50) AND (id <= 51))
Filter: (ctid = '(1,1)'::tid)
- -> Seq Scan on p2_c1
+ -> Seq Scan on p2_c1 p2_2
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p2_c1_c1
+ -> Seq Scan on p2_c1_c1 p2_3
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p2_c1_c2
+ -> Seq Scan on p2_c1_c2 p2_4
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
(10 rows)
duplication hint:
error hint:
- QUERY PLAN
---------------------------------------------------
+ QUERY PLAN
+-------------------------------------------------------
Append
- -> Index Scan using p2_pkey on p2
+ -> Index Scan using p2_pkey on p2 p2_1
Index Cond: ((id >= 50) AND (id <= 51))
Filter: (ctid = '(1,1)'::tid)
- -> Index Scan using p2_c1_pkey on p2_c1
+ -> Index Scan using p2_c1_pkey on p2_c1 p2_2
Index Cond: ((id >= 50) AND (id <= 51))
Filter: (ctid = '(1,1)'::tid)
- -> Index Scan using p2_c1_c1_pkey on p2_c1_c1
+ -> Index Scan using p2_c1_c1_pkey on p2_c1_c1 p2_3
Index Cond: ((id >= 50) AND (id <= 51))
Filter: (ctid = '(1,1)'::tid)
- -> Index Scan using p2_c1_c2_pkey on p2_c1_c2
+ -> Index Scan using p2_c1_c2_pkey on p2_c1_c2 p2_4
Index Cond: ((id >= 50) AND (id <= 51))
Filter: (ctid = '(1,1)'::tid)
(13 rows)
QUERY PLAN
-----------------------------------------------------------------------
Append
- -> Seq Scan on p2
+ -> Seq Scan on p2 p2_1
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
- -> Index Scan using p2_c1_id_val_idx on p2_c1
+ -> Index Scan using p2_c1_id_val_idx on p2_c1 p2_2
Index Cond: ((id >= 50) AND (id <= 51))
Filter: (ctid = '(1,1)'::tid)
- -> Seq Scan on p2_c1_c1
+ -> Seq Scan on p2_c1_c1 p2_3
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p2_c1_c2
+ -> Seq Scan on p2_c1_c2 p2_4
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
(10 rows)
QUERY PLAN
-----------------------------------------------------------------------
Append
- -> Seq Scan on p2
+ -> Seq Scan on p2 p2_1
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p2_c1
+ -> Seq Scan on p2_c1 p2_2
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p2_c1_c1
+ -> Seq Scan on p2_c1_c1 p2_3
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p2_c1_c2
+ -> Seq Scan on p2_c1_c2 p2_4
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
(9 rows)
duplication hint:
error hint:
- QUERY PLAN
---------------------------------------------------
+ QUERY PLAN
+-------------------------------------------------------
Append
- -> Index Scan using p2_pkey on p2
+ -> Index Scan using p2_pkey on p2 p2_1
Index Cond: ((id >= 50) AND (id <= 51))
Filter: (ctid = '(1,1)'::tid)
- -> Index Scan using p2_c1_id_val_idx on p2_c1
+ -> Index Scan using p2_c1_id_val_idx on p2_c1 p2_2
Index Cond: ((id >= 50) AND (id <= 51))
Filter: (ctid = '(1,1)'::tid)
- -> Index Scan using p2_c1_c1_pkey on p2_c1_c1
+ -> Index Scan using p2_c1_c1_pkey on p2_c1_c1 p2_3
Index Cond: ((id >= 50) AND (id <= 51))
Filter: (ctid = '(1,1)'::tid)
- -> Index Scan using p2_c1_c2_pkey on p2_c1_c2
+ -> Index Scan using p2_c1_c2_pkey on p2_c1_c2 p2_4
Index Cond: ((id >= 50) AND (id <= 51))
Filter: (ctid = '(1,1)'::tid)
(13 rows)
duplication hint:
error hint:
- QUERY PLAN
---------------------------------------------------
+ QUERY PLAN
+-------------------------------------------------------
Append
- -> Index Scan using p2_pkey on p2
+ -> Index Scan using p2_pkey on p2 p2_1
Index Cond: ((id >= 50) AND (id <= 51))
Filter: (ctid = '(1,1)'::tid)
- -> Index Scan using p2_c1_pkey on p2_c1
+ -> Index Scan using p2_c1_pkey on p2_c1 p2_2
Index Cond: ((id >= 50) AND (id <= 51))
Filter: (ctid = '(1,1)'::tid)
- -> Index Scan using p2_c1_c1_pkey on p2_c1_c1
+ -> Index Scan using p2_c1_c1_pkey on p2_c1_c1 p2_3
Index Cond: ((id >= 50) AND (id <= 51))
Filter: (ctid = '(1,1)'::tid)
- -> Index Scan using p2_c1_c2_pkey on p2_c1_c2
+ -> Index Scan using p2_c1_c2_pkey on p2_c1_c2 p2_4
Index Cond: ((id >= 50) AND (id <= 51))
Filter: (ctid = '(1,1)'::tid)
(13 rows)
QUERY PLAN
-----------------------------------------------------------------------
Append
- -> Seq Scan on p2
+ -> Seq Scan on p2 p2_1
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
- -> Index Scan using p2_c1_id_val_idx on p2_c1
+ -> Index Scan using p2_c1_id_val_idx on p2_c1 p2_2
Index Cond: ((id >= 50) AND (id <= 51))
Filter: (ctid = '(1,1)'::tid)
- -> Seq Scan on p2_c1_c1
+ -> Seq Scan on p2_c1_c1 p2_3
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p2_c1_c2
+ -> Seq Scan on p2_c1_c2 p2_4
Filter: ((id >= 50) AND (id <= 51) AND (ctid = '(1,1)'::tid))
(10 rows)
duplication hint:
error hint:
- QUERY PLAN
---------------------------------------------------
+ QUERY PLAN
+-------------------------------------------------------
Append
- -> Index Scan using p2_pkey on p2
+ -> Index Scan using p2_pkey on p2 p2_1
Index Cond: ((id >= 50) AND (id <= 51))
Filter: (ctid = '(1,1)'::tid)
- -> Index Scan using p2_c1_id_val_idx on p2_c1
+ -> Index Scan using p2_c1_id_val_idx on p2_c1 p2_2
Index Cond: ((id >= 50) AND (id <= 51))
Filter: (ctid = '(1,1)'::tid)
- -> Index Scan using p2_c1_c1_pkey on p2_c1_c1
+ -> Index Scan using p2_c1_c1_pkey on p2_c1_c1 p2_3
Index Cond: ((id >= 50) AND (id <= 51))
Filter: (ctid = '(1,1)'::tid)
- -> Index Scan using p2_c1_c2_pkey on p2_c1_c2
+ -> Index Scan using p2_c1_c2_pkey on p2_c1_c2 p2_4
Index Cond: ((id >= 50) AND (id <= 51))
Filter: (ctid = '(1,1)'::tid)
(13 rows)
QUERY PLAN
-------------------------------------------------------------------
Append
- -> Index Scan using p2_val_idx on p2
+ -> Index Scan using p2_val_idx on p2 p2_1
Index Cond: ((val >= '50'::text) AND (val <= '51'::text))
Filter: (ctid = '(1,1)'::tid)
- -> Index Scan using p2_c1_val_idx on p2_c1
+ -> Index Scan using p2_c1_val_idx on p2_c1 p2_2
Index Cond: ((val >= '50'::text) AND (val <= '51'::text))
Filter: (ctid = '(1,1)'::tid)
- -> Index Scan using p2_c2_val_idx on p2_c2
+ -> Index Scan using p2_c2_val_idx on p2_c2 p2_3
Index Cond: ((val >= '50'::text) AND (val <= '51'::text))
Filter: (ctid = '(1,1)'::tid)
- -> Index Scan using p2_c3_val_idx on p2_c3
+ -> Index Scan using p2_c3_val_idx on p2_c3 p2_4
Index Cond: ((val >= '50'::text) AND (val <= '51'::text))
Filter: (ctid = '(1,1)'::tid)
- -> Index Scan using p2_c4_val_idx on p2_c4
+ -> Index Scan using p2_c4_val_idx on p2_c4 p2_5
Index Cond: ((val >= '50'::text) AND (val <= '51'::text))
Filter: (ctid = '(1,1)'::tid)
- -> Index Scan using p2_c1_c1_val_idx on p2_c1_c1
+ -> Index Scan using p2_c1_c1_val_idx on p2_c1_c1 p2_6
Index Cond: ((val >= '50'::text) AND (val <= '51'::text))
Filter: (ctid = '(1,1)'::tid)
- -> Index Scan using p2_c1_c2_val_idx on p2_c1_c2
+ -> Index Scan using p2_c1_c2_val_idx on p2_c1_c2 p2_7
Index Cond: ((val >= '50'::text) AND (val <= '51'::text))
Filter: (ctid = '(1,1)'::tid)
- -> Index Scan using p2_c3_c1_val_idx on p2_c3_c1
+ -> Index Scan using p2_c3_c1_val_idx on p2_c3_c1 p2_8
Index Cond: ((val >= '50'::text) AND (val <= '51'::text))
Filter: (ctid = '(1,1)'::tid)
- -> Index Scan using p2_c3_c2_val_idx on p2_c3_c2
+ -> Index Scan using p2_c3_c2_val_idx on p2_c3_c2 p2_9
Index Cond: ((val >= '50'::text) AND (val <= '51'::text))
Filter: (ctid = '(1,1)'::tid)
(28 rows)
QUERY PLAN
-----------------------------------------------------------------------------------------
Append
- -> Seq Scan on p2
+ -> Seq Scan on p2 p2_1
Filter: ((val >= '50'::text) AND (val <= '51'::text) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p2_c1
+ -> Seq Scan on p2_c1 p2_2
Filter: ((val >= '50'::text) AND (val <= '51'::text) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p2_c2
+ -> Seq Scan on p2_c2 p2_3
Filter: ((val >= '50'::text) AND (val <= '51'::text) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p2_c3
+ -> Seq Scan on p2_c3 p2_4
Filter: ((val >= '50'::text) AND (val <= '51'::text) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p2_c4
+ -> Seq Scan on p2_c4 p2_5
Filter: ((val >= '50'::text) AND (val <= '51'::text) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p2_c1_c1
+ -> Seq Scan on p2_c1_c1 p2_6
Filter: ((val >= '50'::text) AND (val <= '51'::text) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p2_c1_c2
+ -> Seq Scan on p2_c1_c2 p2_7
Filter: ((val >= '50'::text) AND (val <= '51'::text) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p2_c3_c1
+ -> Seq Scan on p2_c3_c1 p2_8
Filter: ((val >= '50'::text) AND (val <= '51'::text) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p2_c3_c2
+ -> Seq Scan on p2_c3_c2 p2_9
Filter: ((val >= '50'::text) AND (val <= '51'::text) AND (ctid = '(1,1)'::tid))
(19 rows)
QUERY PLAN
-----------------------------------------------------------------------------------------
Append
- -> Seq Scan on p2
+ -> Seq Scan on p2 p2_1
Filter: ((val >= '50'::text) AND (val <= '51'::text) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p2_c1
+ -> Seq Scan on p2_c1 p2_2
Filter: ((val >= '50'::text) AND (val <= '51'::text) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p2_c2
+ -> Seq Scan on p2_c2 p2_3
Filter: ((val >= '50'::text) AND (val <= '51'::text) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p2_c3
+ -> Seq Scan on p2_c3 p2_4
Filter: ((val >= '50'::text) AND (val <= '51'::text) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p2_c4
+ -> Seq Scan on p2_c4 p2_5
Filter: ((val >= '50'::text) AND (val <= '51'::text) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p2_c1_c1
+ -> Seq Scan on p2_c1_c1 p2_6
Filter: ((val >= '50'::text) AND (val <= '51'::text) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p2_c1_c2
+ -> Seq Scan on p2_c1_c2 p2_7
Filter: ((val >= '50'::text) AND (val <= '51'::text) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p2_c3_c1
+ -> Seq Scan on p2_c3_c1 p2_8
Filter: ((val >= '50'::text) AND (val <= '51'::text) AND (ctid = '(1,1)'::tid))
- -> Seq Scan on p2_c3_c2
+ -> Seq Scan on p2_c3_c2 p2_9
Filter: ((val >= '50'::text) AND (val <= '51'::text) AND (ctid = '(1,1)'::tid))
(19 rows)
QUERY PLAN
-------------------------------------------------------------------
Append
- -> Index Scan using p2_val_idx on p2
+ -> Index Scan using p2_val_idx on p2 p2_1
Index Cond: ((val >= '50'::text) AND (val <= '51'::text))
Filter: (ctid = '(1,1)'::tid)
- -> Index Scan using p2_c1_val_idx on p2_c1
+ -> Index Scan using p2_c1_val_idx on p2_c1 p2_2
Index Cond: ((val >= '50'::text) AND (val <= '51'::text))
Filter: (ctid = '(1,1)'::tid)
- -> Index Scan using p2_c2_val_idx on p2_c2
+ -> Index Scan using p2_c2_val_idx on p2_c2 p2_3
Index Cond: ((val >= '50'::text) AND (val <= '51'::text))
Filter: (ctid = '(1,1)'::tid)
- -> Index Scan using p2_c3_val_idx on p2_c3
+ -> Index Scan using p2_c3_val_idx on p2_c3 p2_4
Index Cond: ((val >= '50'::text) AND (val <= '51'::text))
Filter: (ctid = '(1,1)'::tid)
- -> Index Scan using p2_c4_val_idx on p2_c4
+ -> Index Scan using p2_c4_val_idx on p2_c4 p2_5
Index Cond: ((val >= '50'::text) AND (val <= '51'::text))
Filter: (ctid = '(1,1)'::tid)
- -> Index Scan using p2_c1_c1_val_idx on p2_c1_c1
+ -> Index Scan using p2_c1_c1_val_idx on p2_c1_c1 p2_6
Index Cond: ((val >= '50'::text) AND (val <= '51'::text))
Filter: (ctid = '(1,1)'::tid)
- -> Index Scan using p2_c1_c2_val_idx on p2_c1_c2
+ -> Index Scan using p2_c1_c2_val_idx on p2_c1_c2 p2_7
Index Cond: ((val >= '50'::text) AND (val <= '51'::text))
Filter: (ctid = '(1,1)'::tid)
- -> Index Scan using p2_c3_c1_val_idx on p2_c3_c1
+ -> Index Scan using p2_c3_c1_val_idx on p2_c3_c1 p2_8
Index Cond: ((val >= '50'::text) AND (val <= '51'::text))
Filter: (ctid = '(1,1)'::tid)
- -> Index Scan using p2_c3_c2_val_idx on p2_c3_c2
+ -> Index Scan using p2_c3_c2_val_idx on p2_c3_c2 p2_9
Index Cond: ((val >= '50'::text) AND (val <= '51'::text))
Filter: (ctid = '(1,1)'::tid)
(28 rows)
-- Inheritance
EXPLAIN (COSTS false) SELECT val FROM p1 WHERE val = 1;
- QUERY PLAN
-----------------------------
+ QUERY PLAN
+---------------------------------
Append
- -> Seq Scan on p1
+ -> Seq Scan on p1 p1_1
Filter: (val = 1)
- -> Seq Scan on p1_c1
+ -> Seq Scan on p1_c1 p1_2
Filter: (val = 1)
- -> Seq Scan on p1_c2
+ -> Seq Scan on p1_c2 p1_3
Filter: (val = 1)
- -> Seq Scan on p1_c3
+ -> Seq Scan on p1_c3 p1_4
Filter: (val = 1)
- -> Seq Scan on p1_c4
+ -> Seq Scan on p1_c4 p1_5
Filter: (val = 1)
- -> Seq Scan on p1_c1_c1
+ -> Seq Scan on p1_c1_c1 p1_6
Filter: (val = 1)
- -> Seq Scan on p1_c1_c2
+ -> Seq Scan on p1_c1_c2 p1_7
Filter: (val = 1)
- -> Seq Scan on p1_c3_c1
+ -> Seq Scan on p1_c3_c1 p1_8
Filter: (val = 1)
- -> Seq Scan on p1_c3_c2
+ -> Seq Scan on p1_c3_c2 p1_9
Filter: (val = 1)
(19 rows)
duplication hint:
error hint:
- QUERY PLAN
-----------------------------
+ QUERY PLAN
+---------------------------------
Append
- -> Seq Scan on p1
+ -> Seq Scan on p1 p1_1
Filter: (val = 1)
- -> Seq Scan on p1_c1
+ -> Seq Scan on p1_c1 p1_2
Filter: (val = 1)
- -> Seq Scan on p1_c2
+ -> Seq Scan on p1_c2 p1_3
Filter: (val = 1)
- -> Seq Scan on p1_c3
+ -> Seq Scan on p1_c3 p1_4
Filter: (val = 1)
- -> Seq Scan on p1_c4
+ -> Seq Scan on p1_c4 p1_5
Filter: (val = 1)
- -> Seq Scan on p1_c1_c1
+ -> Seq Scan on p1_c1_c1 p1_6
Filter: (val = 1)
- -> Seq Scan on p1_c1_c2
+ -> Seq Scan on p1_c1_c2 p1_7
Filter: (val = 1)
- -> Seq Scan on p1_c3_c1
+ -> Seq Scan on p1_c3_c1 p1_8
Filter: (val = 1)
- -> Seq Scan on p1_c3_c2
+ -> Seq Scan on p1_c3_c2 p1_9
Filter: (val = 1)
(19 rows)
duplication hint:
error hint:
- QUERY PLAN
---------------------------------------------------
+ QUERY PLAN
+-------------------------------------------------------
Append
- -> Index Scan using p1_val2 on p1
+ -> Index Scan using p1_val2 on p1 p1_1
Index Cond: (val = 1)
- -> Index Scan using p1_c1_val2 on p1_c1
+ -> Index Scan using p1_c1_val2 on p1_c1 p1_2
Index Cond: (val = 1)
- -> Index Scan using p1_c2_val2 on p1_c2
+ -> Index Scan using p1_c2_val2 on p1_c2 p1_3
Index Cond: (val = 1)
- -> Index Scan using p1_c3_val2 on p1_c3
+ -> Index Scan using p1_c3_val2 on p1_c3 p1_4
Index Cond: (val = 1)
- -> Index Scan using p1_c4_val2 on p1_c4
+ -> Index Scan using p1_c4_val2 on p1_c4 p1_5
Index Cond: (val = 1)
- -> Index Scan using p1_c1_c1_val2 on p1_c1_c1
+ -> Index Scan using p1_c1_c1_val2 on p1_c1_c1 p1_6
Index Cond: (val = 1)
- -> Index Scan using p1_c1_c2_val2 on p1_c1_c2
+ -> Index Scan using p1_c1_c2_val2 on p1_c1_c2 p1_7
Index Cond: (val = 1)
- -> Index Scan using p1_c3_c1_val2 on p1_c3_c1
+ -> Index Scan using p1_c3_c1_val2 on p1_c3_c1 p1_8
Index Cond: (val = 1)
- -> Index Scan using p1_c3_c2_val2 on p1_c3_c2
+ -> Index Scan using p1_c3_c2_val2 on p1_c3_c2 p1_9
Index Cond: (val = 1)
(19 rows)
duplication hint:
error hint:
- QUERY PLAN
-----------------------------
+ QUERY PLAN
+---------------------------------
Append
- -> Seq Scan on p1
+ -> Seq Scan on p1 p1_1
Filter: (val = 1)
- -> Seq Scan on p1_c1
+ -> Seq Scan on p1_c1 p1_2
Filter: (val = 1)
- -> Seq Scan on p1_c2
+ -> Seq Scan on p1_c2 p1_3
Filter: (val = 1)
- -> Seq Scan on p1_c3
+ -> Seq Scan on p1_c3 p1_4
Filter: (val = 1)
- -> Seq Scan on p1_c4
+ -> Seq Scan on p1_c4 p1_5
Filter: (val = 1)
- -> Seq Scan on p1_c1_c1
+ -> Seq Scan on p1_c1_c1 p1_6
Filter: (val = 1)
- -> Seq Scan on p1_c1_c2
+ -> Seq Scan on p1_c1_c2 p1_7
Filter: (val = 1)
- -> Seq Scan on p1_c3_c1
+ -> Seq Scan on p1_c3_c1 p1_8
Filter: (val = 1)
- -> Seq Scan on p1_c3_c2
+ -> Seq Scan on p1_c3_c2 p1_9
Filter: (val = 1)
(19 rows)
duplication hint:
error hint:
- QUERY PLAN
-----------------------------
+ QUERY PLAN
+---------------------------------
Append
- -> Seq Scan on p1
+ -> Seq Scan on p1 p1_1
Filter: (val = 1)
- -> Seq Scan on p1_c1
+ -> Seq Scan on p1_c1 p1_2
Filter: (val = 1)
- -> Seq Scan on p1_c2
+ -> Seq Scan on p1_c2 p1_3
Filter: (val = 1)
- -> Seq Scan on p1_c3
+ -> Seq Scan on p1_c3 p1_4
Filter: (val = 1)
- -> Seq Scan on p1_c4
+ -> Seq Scan on p1_c4 p1_5
Filter: (val = 1)
- -> Seq Scan on p1_c1_c1
+ -> Seq Scan on p1_c1_c1 p1_6
Filter: (val = 1)
- -> Seq Scan on p1_c1_c2
+ -> Seq Scan on p1_c1_c2 p1_7
Filter: (val = 1)
- -> Seq Scan on p1_c3_c1
+ -> Seq Scan on p1_c3_c1 p1_8
Filter: (val = 1)
- -> Seq Scan on p1_c3_c2
+ -> Seq Scan on p1_c3_c2 p1_9
Filter: (val = 1)
(19 rows)
duplication hint:
error hint:
- QUERY PLAN
-----------------------------
+ QUERY PLAN
+---------------------------------
Append
- -> Seq Scan on p1
+ -> Seq Scan on p1 p1_1
Filter: (val = 1)
- -> Seq Scan on p1_c1
+ -> Seq Scan on p1_c1 p1_2
Filter: (val = 1)
- -> Seq Scan on p1_c2
+ -> Seq Scan on p1_c2 p1_3
Filter: (val = 1)
- -> Seq Scan on p1_c3
+ -> Seq Scan on p1_c3 p1_4
Filter: (val = 1)
- -> Seq Scan on p1_c4
+ -> Seq Scan on p1_c4 p1_5
Filter: (val = 1)
- -> Seq Scan on p1_c1_c1
+ -> Seq Scan on p1_c1_c1 p1_6
Filter: (val = 1)
- -> Seq Scan on p1_c1_c2
+ -> Seq Scan on p1_c1_c2 p1_7
Filter: (val = 1)
- -> Seq Scan on p1_c3_c1
+ -> Seq Scan on p1_c3_c1 p1_8
Filter: (val = 1)
- -> Seq Scan on p1_c3_c2
+ -> Seq Scan on p1_c3_c2 p1_9
Filter: (val = 1)
(19 rows)
duplication hint:
error hint:
- QUERY PLAN
--------------------------------------------------------
+ QUERY PLAN
+------------------------------------------------------------
Append
- -> Index Only Scan using p1_val2 on p1
+ -> Index Only Scan using p1_val2 on p1 p1_1
Index Cond: (val = 1)
- -> Index Only Scan using p1_c1_val2 on p1_c1
+ -> Index Only Scan using p1_c1_val2 on p1_c1 p1_2
Index Cond: (val = 1)
- -> Index Only Scan using p1_c2_val2 on p1_c2
+ -> Index Only Scan using p1_c2_val2 on p1_c2 p1_3
Index Cond: (val = 1)
- -> Index Only Scan using p1_c3_val2 on p1_c3
+ -> Index Only Scan using p1_c3_val2 on p1_c3 p1_4
Index Cond: (val = 1)
- -> Index Only Scan using p1_c4_val2 on p1_c4
+ -> Index Only Scan using p1_c4_val2 on p1_c4 p1_5
Index Cond: (val = 1)
- -> Index Only Scan using p1_c1_c1_val2 on p1_c1_c1
+ -> Index Only Scan using p1_c1_c1_val2 on p1_c1_c1 p1_6
Index Cond: (val = 1)
- -> Index Only Scan using p1_c1_c2_val2 on p1_c1_c2
+ -> Index Only Scan using p1_c1_c2_val2 on p1_c1_c2 p1_7
Index Cond: (val = 1)
- -> Index Only Scan using p1_c3_c1_val2 on p1_c3_c1
+ -> Index Only Scan using p1_c3_c1_val2 on p1_c3_c1 p1_8
Index Cond: (val = 1)
- -> Index Only Scan using p1_c3_c2_val2 on p1_c3_c2
+ -> Index Only Scan using p1_c3_c2_val2 on p1_c3_c2 p1_9
Index Cond: (val = 1)
(19 rows)
duplication hint:
error hint:
- QUERY PLAN
-----------------------------
+ QUERY PLAN
+---------------------------------
Append
- -> Seq Scan on p1
+ -> Seq Scan on p1 p1_1
Filter: (val = 1)
- -> Seq Scan on p1_c1
+ -> Seq Scan on p1_c1 p1_2
Filter: (val = 1)
- -> Seq Scan on p1_c2
+ -> Seq Scan on p1_c2 p1_3
Filter: (val = 1)
- -> Seq Scan on p1_c3
+ -> Seq Scan on p1_c3 p1_4
Filter: (val = 1)
- -> Seq Scan on p1_c4
+ -> Seq Scan on p1_c4 p1_5
Filter: (val = 1)
- -> Seq Scan on p1_c1_c1
+ -> Seq Scan on p1_c1_c1 p1_6
Filter: (val = 1)
- -> Seq Scan on p1_c1_c2
+ -> Seq Scan on p1_c1_c2 p1_7
Filter: (val = 1)
- -> Seq Scan on p1_c3_c1
+ -> Seq Scan on p1_c3_c1 p1_8
Filter: (val = 1)
- -> Seq Scan on p1_c3_c2
+ -> Seq Scan on p1_c3_c2 p1_9
Filter: (val = 1)
(19 rows)
duplication hint:
error hint:
- QUERY PLAN
-----------------------------
+ QUERY PLAN
+---------------------------------
Append
- -> Seq Scan on p1
+ -> Seq Scan on p1 p1_1
Filter: (val = 1)
- -> Seq Scan on p1_c1
+ -> Seq Scan on p1_c1 p1_2
Filter: (val = 1)
- -> Seq Scan on p1_c2
+ -> Seq Scan on p1_c2 p1_3
Filter: (val = 1)
- -> Seq Scan on p1_c3
+ -> Seq Scan on p1_c3 p1_4
Filter: (val = 1)
- -> Seq Scan on p1_c4
+ -> Seq Scan on p1_c4 p1_5
Filter: (val = 1)
- -> Seq Scan on p1_c1_c1
+ -> Seq Scan on p1_c1_c1 p1_6
Filter: (val = 1)
- -> Seq Scan on p1_c1_c2
+ -> Seq Scan on p1_c1_c2 p1_7
Filter: (val = 1)
- -> Seq Scan on p1_c3_c1
+ -> Seq Scan on p1_c3_c1 p1_8
Filter: (val = 1)
- -> Seq Scan on p1_c3_c2
+ -> Seq Scan on p1_c3_c2 p1_9
Filter: (val = 1)
(19 rows)
duplication hint:
error hint:
- QUERY PLAN
-----------------------------
+ QUERY PLAN
+---------------------------------
Append
- -> Seq Scan on p1
+ -> Seq Scan on p1 p1_1
Filter: (val = 1)
- -> Seq Scan on p1_c1
+ -> Seq Scan on p1_c1 p1_2
Filter: (val = 1)
- -> Seq Scan on p1_c2
+ -> Seq Scan on p1_c2 p1_3
Filter: (val = 1)
- -> Seq Scan on p1_c3
+ -> Seq Scan on p1_c3 p1_4
Filter: (val = 1)
- -> Seq Scan on p1_c4
+ -> Seq Scan on p1_c4 p1_5
Filter: (val = 1)
- -> Seq Scan on p1_c1_c1
+ -> Seq Scan on p1_c1_c1 p1_6
Filter: (val = 1)
- -> Seq Scan on p1_c1_c2
+ -> Seq Scan on p1_c1_c2 p1_7
Filter: (val = 1)
- -> Seq Scan on p1_c3_c1
+ -> Seq Scan on p1_c3_c1 p1_8
Filter: (val = 1)
- -> Seq Scan on p1_c3_c2
+ -> Seq Scan on p1_c3_c2 p1_9
Filter: (val = 1)
(19 rows)
QUERY PLAN
------------------------------------------------
Append
- -> Bitmap Heap Scan on p1
+ -> Bitmap Heap Scan on p1 p1_1
Recheck Cond: (val = 1)
-> Bitmap Index Scan on p1_val2
Index Cond: (val = 1)
- -> Bitmap Heap Scan on p1_c1
+ -> Bitmap Heap Scan on p1_c1 p1_2
Recheck Cond: (val = 1)
-> Bitmap Index Scan on p1_c1_val2
Index Cond: (val = 1)
- -> Bitmap Heap Scan on p1_c2
+ -> Bitmap Heap Scan on p1_c2 p1_3
Recheck Cond: (val = 1)
-> Bitmap Index Scan on p1_c2_val2
Index Cond: (val = 1)
- -> Bitmap Heap Scan on p1_c3
+ -> Bitmap Heap Scan on p1_c3 p1_4
Recheck Cond: (val = 1)
-> Bitmap Index Scan on p1_c3_val2
Index Cond: (val = 1)
- -> Bitmap Heap Scan on p1_c4
+ -> Bitmap Heap Scan on p1_c4 p1_5
Recheck Cond: (val = 1)
-> Bitmap Index Scan on p1_c4_val2
Index Cond: (val = 1)
- -> Bitmap Heap Scan on p1_c1_c1
+ -> Bitmap Heap Scan on p1_c1_c1 p1_6
Recheck Cond: (val = 1)
-> Bitmap Index Scan on p1_c1_c1_val2
Index Cond: (val = 1)
- -> Bitmap Heap Scan on p1_c1_c2
+ -> Bitmap Heap Scan on p1_c1_c2 p1_7
Recheck Cond: (val = 1)
-> Bitmap Index Scan on p1_c1_c2_val2
Index Cond: (val = 1)
- -> Bitmap Heap Scan on p1_c3_c1
+ -> Bitmap Heap Scan on p1_c3_c1 p1_8
Recheck Cond: (val = 1)
-> Bitmap Index Scan on p1_c3_c1_val2
Index Cond: (val = 1)
- -> Bitmap Heap Scan on p1_c3_c2
+ -> Bitmap Heap Scan on p1_c3_c2 p1_9
Recheck Cond: (val = 1)
-> Bitmap Index Scan on p1_c3_c2_val2
Index Cond: (val = 1)
duplication hint:
error hint:
- QUERY PLAN
-----------------------------
+ QUERY PLAN
+---------------------------------
Append
- -> Seq Scan on p1
+ -> Seq Scan on p1 p1_1
Filter: (val = 1)
- -> Seq Scan on p1_c1
+ -> Seq Scan on p1_c1 p1_2
Filter: (val = 1)
- -> Seq Scan on p1_c2
+ -> Seq Scan on p1_c2 p1_3
Filter: (val = 1)
- -> Seq Scan on p1_c3
+ -> Seq Scan on p1_c3 p1_4
Filter: (val = 1)
- -> Seq Scan on p1_c4
+ -> Seq Scan on p1_c4 p1_5
Filter: (val = 1)
- -> Seq Scan on p1_c1_c1
+ -> Seq Scan on p1_c1_c1 p1_6
Filter: (val = 1)
- -> Seq Scan on p1_c1_c2
+ -> Seq Scan on p1_c1_c2 p1_7
Filter: (val = 1)
- -> Seq Scan on p1_c3_c1
+ -> Seq Scan on p1_c3_c1 p1_8
Filter: (val = 1)
- -> Seq Scan on p1_c3_c2
+ -> Seq Scan on p1_c3_c2 p1_9
Filter: (val = 1)
(19 rows)
duplication hint:
error hint:
- QUERY PLAN
-----------------------------
+ QUERY PLAN
+---------------------------------
Append
- -> Seq Scan on p1
+ -> Seq Scan on p1 p1_1
Filter: (val = 1)
- -> Seq Scan on p1_c1
+ -> Seq Scan on p1_c1 p1_2
Filter: (val = 1)
- -> Seq Scan on p1_c2
+ -> Seq Scan on p1_c2 p1_3
Filter: (val = 1)
- -> Seq Scan on p1_c3
+ -> Seq Scan on p1_c3 p1_4
Filter: (val = 1)
- -> Seq Scan on p1_c4
+ -> Seq Scan on p1_c4 p1_5
Filter: (val = 1)
- -> Seq Scan on p1_c1_c1
+ -> Seq Scan on p1_c1_c1 p1_6
Filter: (val = 1)
- -> Seq Scan on p1_c1_c2
+ -> Seq Scan on p1_c1_c2 p1_7
Filter: (val = 1)
- -> Seq Scan on p1_c3_c1
+ -> Seq Scan on p1_c3_c1 p1_8
Filter: (val = 1)
- -> Seq Scan on p1_c3_c2
+ -> Seq Scan on p1_c3_c2 p1_9
Filter: (val = 1)
(19 rows)
$$ VOLATILE LANGUAGE plpgsql;
vacuum analyze t1;
SET pg_hint_plan.enable_hint = false;
+SELECT pg_sleep(1);
+ pg_sleep
+----------
+
+(1 row)
+
SELECT reset_stats_and_wait();
reset_stats_and_wait
----------------------
EXPLAIN (COSTS off) SELECT val FROM p1 WHERE val < 1000
UNION ALL
SELECT val::int FROM p2 WHERE id < 1000;
- QUERY PLAN
------------------------------------------
+ QUERY PLAN
+---------------------------------------------
Append
-> Append
- -> Seq Scan on p1
+ -> Seq Scan on p1 p1_1
Filter: (val < 1000)
- -> Seq Scan on p1_c1
+ -> Seq Scan on p1_c1 p1_2
Filter: (val < 1000)
- -> Seq Scan on p1_c2
+ -> Seq Scan on p1_c2 p1_3
Filter: (val < 1000)
- -> Seq Scan on p1_c3
+ -> Seq Scan on p1_c3 p1_4
Filter: (val < 1000)
- -> Seq Scan on p1_c4
+ -> Seq Scan on p1_c4 p1_5
Filter: (val < 1000)
- -> Seq Scan on p1_c1_c1
+ -> Seq Scan on p1_c1_c1 p1_6
Filter: (val < 1000)
- -> Seq Scan on p1_c1_c2
+ -> Seq Scan on p1_c1_c2 p1_7
Filter: (val < 1000)
- -> Seq Scan on p1_c3_c1
+ -> Seq Scan on p1_c3_c1 p1_8
Filter: (val < 1000)
- -> Seq Scan on p1_c3_c2
+ -> Seq Scan on p1_c3_c2 p1_9
Filter: (val < 1000)
-> Result
-> Append
- -> Seq Scan on p2
+ -> Seq Scan on p2 p2_1
Filter: (id < 1000)
- -> Seq Scan on p2_c1
+ -> Seq Scan on p2_c1 p2_2
Filter: (id < 1000)
- -> Seq Scan on p2_c2
+ -> Seq Scan on p2_c2 p2_3
Filter: (id < 1000)
- -> Seq Scan on p2_c3
+ -> Seq Scan on p2_c3 p2_4
Filter: (id < 1000)
- -> Seq Scan on p2_c4
+ -> Seq Scan on p2_c4 p2_5
Filter: (id < 1000)
- -> Seq Scan on p2_c1_c1
+ -> Seq Scan on p2_c1_c1 p2_6
Filter: (id < 1000)
- -> Seq Scan on p2_c1_c2
+ -> Seq Scan on p2_c1_c2 p2_7
Filter: (id < 1000)
- -> Seq Scan on p2_c3_c1
+ -> Seq Scan on p2_c3_c1 p2_8
Filter: (id < 1000)
- -> Seq Scan on p2_c3_c2
+ -> Seq Scan on p2_c3_c2 p2_9
Filter: (id < 1000)
(40 rows)
duplication hint:
error hint:
- QUERY PLAN
---------------------------------------------------------
+ QUERY PLAN
+-------------------------------------------------------------
Append
-> Append
- -> Index Scan using p1_val3 on p1
+ -> Index Scan using p1_val3 on p1 p1_1
Index Cond: (val < 1000)
- -> Index Scan using p1_c1_val3 on p1_c1
+ -> Index Scan using p1_c1_val3 on p1_c1 p1_2
Index Cond: (val < 1000)
- -> Index Scan using p1_c2_val3 on p1_c2
+ -> Index Scan using p1_c2_val3 on p1_c2 p1_3
Index Cond: (val < 1000)
- -> Index Scan using p1_c3_val3 on p1_c3
+ -> Index Scan using p1_c3_val3 on p1_c3 p1_4
Index Cond: (val < 1000)
- -> Index Scan using p1_c4_val3 on p1_c4
+ -> Index Scan using p1_c4_val3 on p1_c4 p1_5
Index Cond: (val < 1000)
- -> Index Scan using p1_c1_c1_val3 on p1_c1_c1
+ -> Index Scan using p1_c1_c1_val3 on p1_c1_c1 p1_6
Index Cond: (val < 1000)
- -> Index Scan using p1_c1_c2_val3 on p1_c1_c2
+ -> Index Scan using p1_c1_c2_val3 on p1_c1_c2 p1_7
Index Cond: (val < 1000)
- -> Index Scan using p1_c3_c1_val3 on p1_c3_c1
+ -> Index Scan using p1_c3_c1_val3 on p1_c3_c1 p1_8
Index Cond: (val < 1000)
- -> Index Scan using p1_c3_c2_val3 on p1_c3_c2
+ -> Index Scan using p1_c3_c2_val3 on p1_c3_c2 p1_9
Index Cond: (val < 1000)
-> Result
-> Append
- -> Seq Scan on p2
+ -> Seq Scan on p2 p2_1
Filter: (id < 1000)
- -> Seq Scan on p2_c1
+ -> Seq Scan on p2_c1 p2_2
Filter: (id < 1000)
- -> Seq Scan on p2_c2
+ -> Seq Scan on p2_c2 p2_3
Filter: (id < 1000)
- -> Seq Scan on p2_c3
+ -> Seq Scan on p2_c3 p2_4
Filter: (id < 1000)
- -> Seq Scan on p2_c4
+ -> Seq Scan on p2_c4 p2_5
Filter: (id < 1000)
- -> Seq Scan on p2_c1_c1
+ -> Seq Scan on p2_c1_c1 p2_6
Filter: (id < 1000)
- -> Seq Scan on p2_c1_c2
+ -> Seq Scan on p2_c1_c2 p2_7
Filter: (id < 1000)
- -> Seq Scan on p2_c3_c1
+ -> Seq Scan on p2_c3_c1 p2_8
Filter: (id < 1000)
- -> Seq Scan on p2_c3_c2
+ -> Seq Scan on p2_c3_c2 p2_9
Filter: (id < 1000)
(40 rows)
duplication hint:
error hint:
- QUERY PLAN
---------------------------------------------------------------------
+ QUERY PLAN
+-------------------------------------------------------------------------
Append
-> Append
- -> Index Scan using p1_val3 on p1
+ -> Index Scan using p1_val3 on p1 p1_1
Index Cond: (val < 1000)
- -> Index Scan using p1_c1_val3 on p1_c1
+ -> Index Scan using p1_c1_val3 on p1_c1 p1_2
Index Cond: (val < 1000)
- -> Index Scan using p1_c2_val3 on p1_c2
+ -> Index Scan using p1_c2_val3 on p1_c2 p1_3
Index Cond: (val < 1000)
- -> Index Scan using p1_c3_val3 on p1_c3
+ -> Index Scan using p1_c3_val3 on p1_c3 p1_4
Index Cond: (val < 1000)
- -> Index Scan using p1_c4_val3 on p1_c4
+ -> Index Scan using p1_c4_val3 on p1_c4 p1_5
Index Cond: (val < 1000)
- -> Index Scan using p1_c1_c1_val3 on p1_c1_c1
+ -> Index Scan using p1_c1_c1_val3 on p1_c1_c1 p1_6
Index Cond: (val < 1000)
- -> Index Scan using p1_c1_c2_val3 on p1_c1_c2
+ -> Index Scan using p1_c1_c2_val3 on p1_c1_c2 p1_7
Index Cond: (val < 1000)
- -> Index Scan using p1_c3_c1_val3 on p1_c3_c1
+ -> Index Scan using p1_c3_c1_val3 on p1_c3_c1 p1_8
Index Cond: (val < 1000)
- -> Index Scan using p1_c3_c2_val3 on p1_c3_c2
+ -> Index Scan using p1_c3_c2_val3 on p1_c3_c2 p1_9
Index Cond: (val < 1000)
-> Result
-> Append
- -> Index Scan using p2_id_val_idx on p2
+ -> Index Scan using p2_id_val_idx on p2 p2_1
Index Cond: (id < 1000)
- -> Index Scan using p2_c1_id_val_idx on p2_c1
+ -> Index Scan using p2_c1_id_val_idx on p2_c1 p2_2
Index Cond: (id < 1000)
- -> Index Scan using p2_c2_id_val_idx on p2_c2
+ -> Index Scan using p2_c2_id_val_idx on p2_c2 p2_3
Index Cond: (id < 1000)
- -> Index Scan using p2_c3_id_val_idx on p2_c3
+ -> Index Scan using p2_c3_id_val_idx on p2_c3 p2_4
Index Cond: (id < 1000)
- -> Index Scan using p2_c4_id_val_idx on p2_c4
+ -> Index Scan using p2_c4_id_val_idx on p2_c4 p2_5
Index Cond: (id < 1000)
- -> Index Scan using p2_c1_c1_id_val_idx on p2_c1_c1
+ -> Index Scan using p2_c1_c1_id_val_idx on p2_c1_c1 p2_6
Index Cond: (id < 1000)
- -> Index Scan using p2_c1_c2_id_val_idx on p2_c1_c2
+ -> Index Scan using p2_c1_c2_id_val_idx on p2_c1_c2 p2_7
Index Cond: (id < 1000)
- -> Index Scan using p2_c3_c1_id_val_idx on p2_c3_c1
+ -> Index Scan using p2_c3_c1_id_val_idx on p2_c3_c1 p2_8
Index Cond: (id < 1000)
- -> Index Scan using p2_c3_c2_id_val_idx on p2_c3_c2
+ -> Index Scan using p2_c3_c2_id_val_idx on p2_c3_c2 p2_9
Index Cond: (id < 1000)
(40 rows)
EXPLAIN (COSTS off) SELECT val FROM p1 WHERE val < 1000
UNION
SELECT val::int FROM p2 WHERE id < 1000;
- QUERY PLAN
------------------------------------------------
+ QUERY PLAN
+---------------------------------------------------
HashAggregate
Group Key: p1.val
-> Append
-> Append
- -> Seq Scan on p1
+ -> Seq Scan on p1 p1_1
Filter: (val < 1000)
- -> Seq Scan on p1_c1
+ -> Seq Scan on p1_c1 p1_2
Filter: (val < 1000)
- -> Seq Scan on p1_c2
+ -> Seq Scan on p1_c2 p1_3
Filter: (val < 1000)
- -> Seq Scan on p1_c3
+ -> Seq Scan on p1_c3 p1_4
Filter: (val < 1000)
- -> Seq Scan on p1_c4
+ -> Seq Scan on p1_c4 p1_5
Filter: (val < 1000)
- -> Seq Scan on p1_c1_c1
+ -> Seq Scan on p1_c1_c1 p1_6
Filter: (val < 1000)
- -> Seq Scan on p1_c1_c2
+ -> Seq Scan on p1_c1_c2 p1_7
Filter: (val < 1000)
- -> Seq Scan on p1_c3_c1
+ -> Seq Scan on p1_c3_c1 p1_8
Filter: (val < 1000)
- -> Seq Scan on p1_c3_c2
+ -> Seq Scan on p1_c3_c2 p1_9
Filter: (val < 1000)
-> Result
-> Append
- -> Seq Scan on p2
+ -> Seq Scan on p2 p2_1
Filter: (id < 1000)
- -> Seq Scan on p2_c1
+ -> Seq Scan on p2_c1 p2_2
Filter: (id < 1000)
- -> Seq Scan on p2_c2
+ -> Seq Scan on p2_c2 p2_3
Filter: (id < 1000)
- -> Seq Scan on p2_c3
+ -> Seq Scan on p2_c3 p2_4
Filter: (id < 1000)
- -> Seq Scan on p2_c4
+ -> Seq Scan on p2_c4 p2_5
Filter: (id < 1000)
- -> Seq Scan on p2_c1_c1
+ -> Seq Scan on p2_c1_c1 p2_6
Filter: (id < 1000)
- -> Seq Scan on p2_c1_c2
+ -> Seq Scan on p2_c1_c2 p2_7
Filter: (id < 1000)
- -> Seq Scan on p2_c3_c1
+ -> Seq Scan on p2_c3_c1 p2_8
Filter: (id < 1000)
- -> Seq Scan on p2_c3_c2
+ -> Seq Scan on p2_c3_c2 p2_9
Filter: (id < 1000)
(42 rows)
duplication hint:
error hint:
- QUERY PLAN
---------------------------------------------------------------------------
+ QUERY PLAN
+-------------------------------------------------------------------------------
HashAggregate
Group Key: p1.val
-> Append
-> Append
- -> Seq Scan on p1
+ -> Seq Scan on p1 p1_1
Filter: (val < 1000)
- -> Seq Scan on p1_c1
+ -> Seq Scan on p1_c1 p1_2
Filter: (val < 1000)
- -> Seq Scan on p1_c2
+ -> Seq Scan on p1_c2 p1_3
Filter: (val < 1000)
- -> Seq Scan on p1_c3
+ -> Seq Scan on p1_c3 p1_4
Filter: (val < 1000)
- -> Seq Scan on p1_c4
+ -> Seq Scan on p1_c4 p1_5
Filter: (val < 1000)
- -> Seq Scan on p1_c1_c1
+ -> Seq Scan on p1_c1_c1 p1_6
Filter: (val < 1000)
- -> Seq Scan on p1_c1_c2
+ -> Seq Scan on p1_c1_c2 p1_7
Filter: (val < 1000)
- -> Seq Scan on p1_c3_c1
+ -> Seq Scan on p1_c3_c1 p1_8
Filter: (val < 1000)
- -> Seq Scan on p1_c3_c2
+ -> Seq Scan on p1_c3_c2 p1_9
Filter: (val < 1000)
-> Result
-> Append
- -> Index Scan using p2_id_val_idx on p2
+ -> Index Scan using p2_id_val_idx on p2 p2_1
Index Cond: (id < 1000)
- -> Index Scan using p2_c1_id_val_idx on p2_c1
+ -> Index Scan using p2_c1_id_val_idx on p2_c1 p2_2
Index Cond: (id < 1000)
- -> Index Scan using p2_c2_id_val_idx on p2_c2
+ -> Index Scan using p2_c2_id_val_idx on p2_c2 p2_3
Index Cond: (id < 1000)
- -> Index Scan using p2_c3_id_val_idx on p2_c3
+ -> Index Scan using p2_c3_id_val_idx on p2_c3 p2_4
Index Cond: (id < 1000)
- -> Index Scan using p2_c4_id_val_idx on p2_c4
+ -> Index Scan using p2_c4_id_val_idx on p2_c4 p2_5
Index Cond: (id < 1000)
- -> Index Scan using p2_c1_c1_id_val_idx on p2_c1_c1
+ -> Index Scan using p2_c1_c1_id_val_idx on p2_c1_c1 p2_6
Index Cond: (id < 1000)
- -> Index Scan using p2_c1_c2_id_val_idx on p2_c1_c2
+ -> Index Scan using p2_c1_c2_id_val_idx on p2_c1_c2 p2_7
Index Cond: (id < 1000)
- -> Index Scan using p2_c3_c1_id_val_idx on p2_c3_c1
+ -> Index Scan using p2_c3_c1_id_val_idx on p2_c3_c1 p2_8
Index Cond: (id < 1000)
- -> Index Scan using p2_c3_c2_id_val_idx on p2_c3_c2
+ -> Index Scan using p2_c3_c2_id_val_idx on p2_c3_c2 p2_9
Index Cond: (id < 1000)
(42 rows)
duplication hint:
error hint:
- QUERY PLAN
---------------------------------------------------------------------------
+ QUERY PLAN
+-------------------------------------------------------------------------------
HashAggregate
Group Key: p1.val
-> Append
-> Append
- -> Index Scan using p1_val3 on p1
+ -> Index Scan using p1_val3 on p1 p1_1
Index Cond: (val < 1000)
- -> Index Scan using p1_c1_val3 on p1_c1
+ -> Index Scan using p1_c1_val3 on p1_c1 p1_2
Index Cond: (val < 1000)
- -> Index Scan using p1_c2_val3 on p1_c2
+ -> Index Scan using p1_c2_val3 on p1_c2 p1_3
Index Cond: (val < 1000)
- -> Index Scan using p1_c3_val3 on p1_c3
+ -> Index Scan using p1_c3_val3 on p1_c3 p1_4
Index Cond: (val < 1000)
- -> Index Scan using p1_c4_val3 on p1_c4
+ -> Index Scan using p1_c4_val3 on p1_c4 p1_5
Index Cond: (val < 1000)
- -> Index Scan using p1_c1_c1_val3 on p1_c1_c1
+ -> Index Scan using p1_c1_c1_val3 on p1_c1_c1 p1_6
Index Cond: (val < 1000)
- -> Index Scan using p1_c1_c2_val3 on p1_c1_c2
+ -> Index Scan using p1_c1_c2_val3 on p1_c1_c2 p1_7
Index Cond: (val < 1000)
- -> Index Scan using p1_c3_c1_val3 on p1_c3_c1
+ -> Index Scan using p1_c3_c1_val3 on p1_c3_c1 p1_8
Index Cond: (val < 1000)
- -> Index Scan using p1_c3_c2_val3 on p1_c3_c2
+ -> Index Scan using p1_c3_c2_val3 on p1_c3_c2 p1_9
Index Cond: (val < 1000)
-> Result
-> Append
- -> Index Scan using p2_id_val_idx on p2
+ -> Index Scan using p2_id_val_idx on p2 p2_1
Index Cond: (id < 1000)
- -> Index Scan using p2_c1_id_val_idx on p2_c1
+ -> Index Scan using p2_c1_id_val_idx on p2_c1 p2_2
Index Cond: (id < 1000)
- -> Index Scan using p2_c2_id_val_idx on p2_c2
+ -> Index Scan using p2_c2_id_val_idx on p2_c2 p2_3
Index Cond: (id < 1000)
- -> Index Scan using p2_c3_id_val_idx on p2_c3
+ -> Index Scan using p2_c3_id_val_idx on p2_c3 p2_4
Index Cond: (id < 1000)
- -> Index Scan using p2_c4_id_val_idx on p2_c4
+ -> Index Scan using p2_c4_id_val_idx on p2_c4 p2_5
Index Cond: (id < 1000)
- -> Index Scan using p2_c1_c1_id_val_idx on p2_c1_c1
+ -> Index Scan using p2_c1_c1_id_val_idx on p2_c1_c1 p2_6
Index Cond: (id < 1000)
- -> Index Scan using p2_c1_c2_id_val_idx on p2_c1_c2
+ -> Index Scan using p2_c1_c2_id_val_idx on p2_c1_c2 p2_7
Index Cond: (id < 1000)
- -> Index Scan using p2_c3_c1_id_val_idx on p2_c3_c1
+ -> Index Scan using p2_c3_c1_id_val_idx on p2_c3_c1 p2_8
Index Cond: (id < 1000)
- -> Index Scan using p2_c3_c2_id_val_idx on p2_c3_c2
+ -> Index Scan using p2_c3_c2_id_val_idx on p2_c3_c2 p2_9
Index Cond: (id < 1000)
(42 rows)
-- Explain result includes "Planning time" if COSTS is enabled, but
-- this test needs it enabled for get rows count. So do tests via psql
-- and grep -v the mutable line.
+-- Parse error check
+/*+ Rows() */ SELECT 1;
+INFO: pg_hint_plan: hint syntax error at or near " "
+DETAIL: Rows hint needs at least one relation followed by one correction term.
+LOG: pg_hint_plan:
+used hint:
+not used hint:
+duplication hint:
+error hint:
+Rows()
+
+ ?column?
+----------
+ 1
+(1 row)
+
+/*+ Rows(x) */ SELECT 1;
+INFO: pg_hint_plan: hint syntax error at or near " "
+DETAIL: Rows hint needs at least one relation followed by one correction term.
+LOG: pg_hint_plan:
+used hint:
+not used hint:
+duplication hint:
+error hint:
+Rows()
+
+ ?column?
+----------
+ 1
+(1 row)
+
-- value types
\o results/pg_hint_plan.tmpout
EXPLAIN SELECT * FROM t1 JOIN t2 ON (t1.id = t2.id);
----+-----
(0 rows)
+-- all hint types together
+/*+ SeqScan(t1) MergeJoin(t1 t2) Leading(t1 t2) Rows(t1 t2 +10) Parallel(t1 8 hard) Set(random_page_cost 2.0)*/
+EXPLAIN (costs off) SELECT * FROM t1 JOIN t2 ON (t1.id = t2.id) JOIN t3 ON (t3.id = t2.id);
+DEBUG: adjusted rows 1000 to 1010
+DEBUG: pg_hint_plan:
+used hint:
+SeqScan(t1)
+MergeJoin(t1 t2)
+Leading(t1 t2)
+Set(random_page_cost 2.0)
+Rows(t1 t2 +10)
+Parallel(t1 8 hard)
+not used hint:
+duplication hint:
+error hint:
+
+ QUERY PLAN
+-------------------------------------------------
+ Nested Loop
+ -> Merge Join
+ Merge Cond: (t2.id = t1.id)
+ -> Index Scan using t2_pkey on t2
+ -> Sort
+ Sort Key: t1.id
+ -> Gather
+ Workers Planned: 8
+ -> Parallel Seq Scan on t1
+ -> Index Scan using t3_pkey on t3
+ Index Cond: (id = t1.id)
+(11 rows)
+