QUERY PLAN
------------------------------------------------------------------------
Aggregate
- InitPlan 1 (returns $0)
+ InitPlan 1 (returns $1)
-> Aggregate
- -> Merge Join
- Merge Cond: (b1t1.c1 = b1t2.c1)
+ -> Nested Loop
+ Join Filter: (b1t1.c1 = b1t4.c1)
-> Merge Join
- Merge Cond: (b1t1.c1 = b1t4.c1)
+ Merge Cond: (b1t1.c1 = b1t2.c1)
-> Merge Join
Merge Cond: (b1t1.c1 = b1t3.c1)
-> Index Only Scan using t1_i1 on t1 b1t1
-> Index Only Scan using t3_i1 on t3 b1t3
- -> Index Only Scan using t4_i1 on t4 b1t4
- -> Sort
- Sort Key: b1t2.c1
- -> Seq Scan on t2 b1t2
- -> Merge Join
- Merge Cond: (bmt1.c1 = bmt2.c1)
+ -> Sort
+ Sort Key: b1t2.c1
+ -> Seq Scan on t2 b1t2
+ -> Index Only Scan using t4_i1 on t4 b1t4
+ Index Cond: (c1 = b1t3.c1)
+ -> Nested Loop
+ Join Filter: (bmt1.c1 = bmt4.c1)
-> Merge Join
- Merge Cond: (bmt1.c1 = bmt4.c1)
+ Merge Cond: (bmt1.c1 = bmt2.c1)
-> Merge Join
Merge Cond: (bmt1.c1 = bmt3.c1)
-> Index Only Scan using t1_i1 on t1 bmt1
-> Index Only Scan using t3_i1 on t3 bmt3
- -> Index Only Scan using t4_i1 on t4 bmt4
- -> Sort
- Sort Key: bmt2.c1
- -> Seq Scan on t2 bmt2
-(27 rows)
+ -> Sort
+ Sort Key: bmt2.c1
+ -> Seq Scan on t2 bmt2
+ -> Index Only Scan using t4_i1 on t4 bmt4
+ Index Cond: (c1 = bmt3.c1)
+(29 rows)
/*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)BitmapScan(bmt3 t3_pkey)TidScan(bmt4)
TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
duplication hint:
error hint:
- QUERY PLAN
---------------------------------------------------------------------
+ QUERY PLAN
+--------------------------------------------------------------------------
Aggregate
InitPlan 1 (returns $2)
-> Aggregate
-> Hash Join
- Hash Cond: (b1t2.c1 = b1t1.c1)
- -> Nested Loop
- Join Filter: (b1t2.c1 = b1t3.c1)
- -> Nested Loop
- -> Seq Scan on t2 b1t2
- -> Bitmap Heap Scan on t4 b1t4
- Recheck Cond: (c1 = b1t2.c1)
- -> Bitmap Index Scan on t4_pkey
- Index Cond: (c1 = b1t2.c1)
- -> Index Scan using t3_pkey on t3 b1t3
- Index Cond: (c1 = b1t4.c1)
+ Hash Cond: (b1t1.c1 = b1t2.c1)
+ -> Seq Scan on t1 b1t1
-> Hash
- -> Seq Scan on t1 b1t1
+ -> Nested Loop
+ Join Filter: (b1t2.c1 = b1t3.c1)
+ -> Nested Loop
+ -> Seq Scan on t2 b1t2
+ -> Bitmap Heap Scan on t4 b1t4
+ Recheck Cond: (c1 = b1t2.c1)
+ -> Bitmap Index Scan on t4_pkey
+ Index Cond: (c1 = b1t2.c1)
+ -> Index Scan using t3_pkey on t3 b1t3
+ Index Cond: (c1 = b1t4.c1)
-> Hash Join
- Hash Cond: (bmt1.c1 = bmt4.c1)
- -> Nested Loop
- -> Hash Join
- Hash Cond: (bmt1.c1 = bmt2.c1)
- -> Seq Scan on t1 bmt1
- -> Hash
- -> Index Scan using t2_pkey on t2 bmt2
- -> Bitmap Heap Scan on t3 bmt3
- Recheck Cond: (c1 = bmt1.c1)
- -> Bitmap Index Scan on t3_pkey
- Index Cond: (c1 = bmt1.c1)
+ Hash Cond: (bmt4.c1 = bmt1.c1)
+ -> Seq Scan on t4 bmt4
-> Hash
- -> Seq Scan on t4 bmt4
+ -> Nested Loop
+ -> Hash Join
+ Hash Cond: (bmt1.c1 = bmt2.c1)
+ -> Seq Scan on t1 bmt1
+ -> Hash
+ -> Index Scan using t2_pkey on t2 bmt2
+ -> Bitmap Heap Scan on t3 bmt3
+ Recheck Cond: (c1 = bmt1.c1)
+ -> Bitmap Index Scan on t3_pkey
+ Index Cond: (c1 = bmt1.c1)
(31 rows)
-- No. S-2-1-2
QUERY PLAN
------------------------------------------------------------------------
Aggregate
- InitPlan 1 (returns $0)
+ InitPlan 1 (returns $1)
-> Aggregate
- -> Merge Join
- Merge Cond: (b1t1.c1 = b1t2.c1)
+ -> Nested Loop
+ Join Filter: (b1t1.c1 = b1t4.c1)
-> Merge Join
- Merge Cond: (b1t1.c1 = b1t4.c1)
+ Merge Cond: (b1t1.c1 = b1t2.c1)
-> Merge Join
Merge Cond: (b1t1.c1 = b1t3.c1)
-> Index Only Scan using t1_i1 on t1 b1t1
-> Index Only Scan using t3_i1 on t3 b1t3
- -> Index Only Scan using t4_i1 on t4 b1t4
- -> Sort
- Sort Key: b1t2.c1
- -> Seq Scan on t2 b1t2
- InitPlan 2 (returns $1)
+ -> Sort
+ Sort Key: b1t2.c1
+ -> Seq Scan on t2 b1t2
+ -> Index Only Scan using t4_i1 on t4 b1t4
+ Index Cond: (c1 = b1t3.c1)
+ InitPlan 2 (returns $3)
-> Aggregate
- -> Merge Join
- Merge Cond: (b2t1.c1 = b2t2.c1)
+ -> Nested Loop
+ Join Filter: (b2t1.c1 = b2t4.c1)
-> Merge Join
- Merge Cond: (b2t1.c1 = b2t4.c1)
+ Merge Cond: (b2t1.c1 = b2t2.c1)
-> Merge Join
Merge Cond: (b2t1.c1 = b2t3.c1)
-> Index Only Scan using t1_i1 on t1 b2t1
-> Index Only Scan using t3_i1 on t3 b2t3
- -> Index Only Scan using t4_i1 on t4 b2t4
- -> Sort
- Sort Key: b2t2.c1
- -> Seq Scan on t2 b2t2
- -> Merge Join
- Merge Cond: (bmt1.c1 = bmt2.c1)
+ -> Sort
+ Sort Key: b2t2.c1
+ -> Seq Scan on t2 b2t2
+ -> Index Only Scan using t4_i1 on t4 b2t4
+ Index Cond: (c1 = b2t3.c1)
+ -> Nested Loop
+ Join Filter: (bmt1.c1 = bmt4.c1)
-> Merge Join
- Merge Cond: (bmt1.c1 = bmt4.c1)
+ Merge Cond: (bmt1.c1 = bmt2.c1)
-> Merge Join
Merge Cond: (bmt1.c1 = bmt3.c1)
-> Index Only Scan using t1_i1 on t1 bmt1
-> Index Only Scan using t3_i1 on t3 bmt3
- -> Index Only Scan using t4_i1 on t4 bmt4
- -> Sort
- Sort Key: bmt2.c1
- -> Seq Scan on t2 bmt2
-(41 rows)
+ -> Sort
+ Sort Key: bmt2.c1
+ -> Seq Scan on t2 bmt2
+ -> Index Only Scan using t4_i1 on t4 bmt4
+ Index Cond: (c1 = bmt3.c1)
+(44 rows)
/*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)BitmapScan(bmt3 t3_pkey)TidScan(bmt4)
TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
duplication hint:
error hint:
- QUERY PLAN
----------------------------------------------------------------------
+ QUERY PLAN
+---------------------------------------------------------------------------
Aggregate
InitPlan 1 (returns $2)
-> Aggregate
-> Hash Join
- Hash Cond: (b1t2.c1 = b1t1.c1)
- -> Nested Loop
- Join Filter: (b1t2.c1 = b1t3.c1)
- -> Nested Loop
- -> Seq Scan on t2 b1t2
- -> Bitmap Heap Scan on t4 b1t4
- Recheck Cond: (c1 = b1t2.c1)
- -> Bitmap Index Scan on t4_pkey
- Index Cond: (c1 = b1t2.c1)
- -> Index Scan using t3_pkey on t3 b1t3
- Index Cond: (c1 = b1t4.c1)
+ Hash Cond: (b1t1.c1 = b1t2.c1)
+ -> Seq Scan on t1 b1t1
-> Hash
- -> Seq Scan on t1 b1t1
+ -> Nested Loop
+ Join Filter: (b1t2.c1 = b1t3.c1)
+ -> Nested Loop
+ -> Seq Scan on t2 b1t2
+ -> Bitmap Heap Scan on t4 b1t4
+ Recheck Cond: (c1 = b1t2.c1)
+ -> Bitmap Index Scan on t4_pkey
+ Index Cond: (c1 = b1t2.c1)
+ -> Index Scan using t3_pkey on t3 b1t3
+ Index Cond: (c1 = b1t4.c1)
InitPlan 2 (returns $4)
-> Aggregate
-> Hash Join
- Hash Cond: (b2t1.c1 = b2t3.c1)
- -> Merge Join
- Merge Cond: (b2t1.c1 = b2t2.c1)
- -> Nested Loop
- -> Index Scan using t4_pkey on t4 b2t4
- -> Bitmap Heap Scan on t1 b2t1
- Recheck Cond: (c1 = b2t4.c1)
- -> Bitmap Index Scan on t1_pkey
- Index Cond: (c1 = b2t4.c1)
- -> Sort
- Sort Key: b2t2.c1
- -> Seq Scan on t2 b2t2
+ Hash Cond: (b2t3.c1 = b2t1.c1)
+ -> Seq Scan on t3 b2t3
-> Hash
- -> Seq Scan on t3 b2t3
+ -> Merge Join
+ Merge Cond: (b2t1.c1 = b2t2.c1)
+ -> Nested Loop
+ -> Index Scan using t4_pkey on t4 b2t4
+ -> Bitmap Heap Scan on t1 b2t1
+ Recheck Cond: (c1 = b2t4.c1)
+ -> Bitmap Index Scan on t1_pkey
+ Index Cond: (c1 = b2t4.c1)
+ -> Sort
+ Sort Key: b2t2.c1
+ -> Seq Scan on t2 b2t2
-> Hash Join
- Hash Cond: (bmt1.c1 = bmt4.c1)
- -> Nested Loop
- -> Hash Join
- Hash Cond: (bmt1.c1 = bmt2.c1)
- -> Seq Scan on t1 bmt1
- -> Hash
- -> Index Scan using t2_pkey on t2 bmt2
- -> Bitmap Heap Scan on t3 bmt3
- Recheck Cond: (c1 = bmt1.c1)
- -> Bitmap Index Scan on t3_pkey
- Index Cond: (c1 = bmt1.c1)
+ Hash Cond: (bmt4.c1 = bmt1.c1)
+ -> Seq Scan on t4 bmt4
-> Hash
- -> Seq Scan on t4 bmt4
+ -> Nested Loop
+ -> Hash Join
+ Hash Cond: (bmt1.c1 = bmt2.c1)
+ -> Seq Scan on t1 bmt1
+ -> Hash
+ -> Index Scan using t2_pkey on t2 bmt2
+ -> Bitmap Heap Scan on t3 bmt3
+ Recheck Cond: (c1 = bmt1.c1)
+ -> Bitmap Index Scan on t3_pkey
+ Index Cond: (c1 = bmt1.c1)
(48 rows)
-- No. S-2-1-3
QUERY PLAN
----------------------------------------------------------------
Aggregate
- -> Merge Join
- Merge Cond: (bmt1.c1 = bmt2.c1)
+ -> Nested Loop
+ Join Filter: (bmt1.c1 = bmt4.c1)
-> Merge Join
- Merge Cond: (bmt1.c1 = bmt4.c1)
+ Merge Cond: (bmt1.c1 = bmt2.c1)
-> Merge Join
Merge Cond: (bmt1.c1 = bmt3.c1)
-> Index Only Scan using t1_i1 on t1 bmt1
-> Index Only Scan using t3_i1 on t3 bmt3
- -> Index Only Scan using t4_i1 on t4 bmt4
- -> Sort
- Sort Key: bmt2.c1
- -> Seq Scan on t2 bmt2
-(13 rows)
+ -> Sort
+ Sort Key: bmt2.c1
+ -> Seq Scan on t2 bmt2
+ -> Index Only Scan using t4_i1 on t4 bmt4
+ Index Cond: (c1 = bmt3.c1)
+(14 rows)
/*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)BitmapScan(bmt3 t3_pkey)TidScan(bmt4)
*/
duplication hint:
error hint:
- QUERY PLAN
--------------------------------------------------------------------
+ QUERY PLAN
+-------------------------------------------------------------------------
Aggregate
-> Hash Join
- Hash Cond: (bmt1.c1 = bmt4.c1)
- -> Nested Loop
- -> Hash Join
- Hash Cond: (bmt1.c1 = bmt2.c1)
- -> Seq Scan on t1 bmt1
- -> Hash
- -> Index Scan using t2_pkey on t2 bmt2
- -> Bitmap Heap Scan on t3 bmt3
- Recheck Cond: (c1 = bmt1.c1)
- -> Bitmap Index Scan on t3_pkey
- Index Cond: (c1 = bmt1.c1)
+ Hash Cond: (bmt4.c1 = bmt1.c1)
+ -> Seq Scan on t4 bmt4
-> Hash
- -> Seq Scan on t4 bmt4
+ -> Nested Loop
+ -> Hash Join
+ Hash Cond: (bmt1.c1 = bmt2.c1)
+ -> Seq Scan on t1 bmt1
+ -> Hash
+ -> Index Scan using t2_pkey on t2 bmt2
+ -> Bitmap Heap Scan on t3 bmt3
+ Recheck Cond: (c1 = bmt1.c1)
+ -> Bitmap Index Scan on t3_pkey
+ Index Cond: (c1 = bmt1.c1)
(15 rows)
-- No. S-2-1-4
QUERY PLAN
----------------------------------------------------------------
Aggregate
- -> Merge Join
- Merge Cond: (bmt1.c1 = bmt2.c1)
+ -> Nested Loop
+ Join Filter: (bmt1.c1 = bmt4.c1)
-> Merge Join
- Merge Cond: (bmt1.c1 = bmt4.c1)
+ Merge Cond: (bmt1.c1 = bmt2.c1)
-> Merge Join
Merge Cond: (bmt1.c1 = bmt3.c1)
-> Index Only Scan using t1_i1 on t1 bmt1
-> Index Only Scan using t3_i1 on t3 bmt3
- -> Index Only Scan using t4_i1 on t4 bmt4
- -> Sort
- Sort Key: bmt2.c1
- -> Seq Scan on t2 bmt2
-(13 rows)
+ -> Sort
+ Sort Key: bmt2.c1
+ -> Seq Scan on t2 bmt2
+ -> Index Only Scan using t4_i1 on t4 bmt4
+ Index Cond: (c1 = bmt3.c1)
+(14 rows)
/*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)BitmapScan(bmt3 t3_pkey)TidScan(bmt4)
*/
duplication hint:
error hint:
- QUERY PLAN
--------------------------------------------------------------------
+ QUERY PLAN
+-------------------------------------------------------------------------
Aggregate
-> Hash Join
- Hash Cond: (bmt1.c1 = bmt4.c1)
- -> Nested Loop
- -> Hash Join
- Hash Cond: (bmt1.c1 = bmt2.c1)
- -> Seq Scan on t1 bmt1
- -> Hash
- -> Index Scan using t2_pkey on t2 bmt2
- -> Bitmap Heap Scan on t3 bmt3
- Recheck Cond: (c1 = bmt1.c1)
- -> Bitmap Index Scan on t3_pkey
- Index Cond: (c1 = bmt1.c1)
+ Hash Cond: (bmt4.c1 = bmt1.c1)
+ -> Seq Scan on t4 bmt4
-> Hash
- -> Seq Scan on t4 bmt4
+ -> Nested Loop
+ -> Hash Join
+ Hash Cond: (bmt1.c1 = bmt2.c1)
+ -> Seq Scan on t1 bmt1
+ -> Hash
+ -> Index Scan using t2_pkey on t2 bmt2
+ -> Bitmap Heap Scan on t3 bmt3
+ Recheck Cond: (c1 = bmt1.c1)
+ -> Bitmap Index Scan on t3_pkey
+ Index Cond: (c1 = bmt1.c1)
(15 rows)
-- No. S-2-1-5
QUERY PLAN
------------------------------------------------------------------------
Aggregate
- InitPlan 1 (returns $0)
+ InitPlan 1 (returns $1)
-> Aggregate
- -> Merge Join
- Merge Cond: (b1t1.c1 = b1t2.c1)
+ -> Nested Loop
+ Join Filter: (b1t1.c1 = b1t4.c1)
-> Merge Join
- Merge Cond: (b1t1.c1 = b1t4.c1)
+ Merge Cond: (b1t1.c1 = b1t2.c1)
-> Merge Join
Merge Cond: (b1t1.c1 = b1t3.c1)
-> Index Only Scan using t1_i1 on t1 b1t1
-> Index Only Scan using t3_i1 on t3 b1t3
- -> Index Only Scan using t4_i1 on t4 b1t4
- -> Sort
- Sort Key: b1t2.c1
- -> Seq Scan on t2 b1t2
- -> Merge Join
- Merge Cond: (bmt1.c1 = bmt2.c1)
+ -> Sort
+ Sort Key: b1t2.c1
+ -> Seq Scan on t2 b1t2
+ -> Index Only Scan using t4_i1 on t4 b1t4
+ Index Cond: (c1 = b1t3.c1)
+ -> Nested Loop
+ Join Filter: (bmt1.c1 = bmt4.c1)
-> Merge Join
- Merge Cond: (bmt1.c1 = bmt4.c1)
+ Merge Cond: (bmt1.c1 = bmt2.c1)
-> Merge Join
Merge Cond: (bmt1.c1 = bmt3.c1)
-> Index Only Scan using t1_i1 on t1 bmt1
- Filter: (c1 <> $0)
+ Filter: (c1 <> $1)
-> Index Only Scan using t3_i1 on t3 bmt3
- -> Index Only Scan using t4_i1 on t4 bmt4
- -> Sort
- Sort Key: bmt2.c1
- -> Seq Scan on t2 bmt2
-(28 rows)
+ -> Sort
+ Sort Key: bmt2.c1
+ -> Seq Scan on t2 bmt2
+ -> Index Only Scan using t4_i1 on t4 bmt4
+ Index Cond: (c1 = bmt3.c1)
+(30 rows)
/*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)BitmapScan(bmt3 t3_pkey)TidScan(bmt4)
TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
duplication hint:
error hint:
- QUERY PLAN
---------------------------------------------------------------------
+ QUERY PLAN
+--------------------------------------------------------------------------
Aggregate
InitPlan 1 (returns $2)
-> Aggregate
-> Hash Join
- Hash Cond: (b1t2.c1 = b1t1.c1)
- -> Nested Loop
- Join Filter: (b1t2.c1 = b1t3.c1)
- -> Nested Loop
- -> Seq Scan on t2 b1t2
- -> Bitmap Heap Scan on t4 b1t4
- Recheck Cond: (c1 = b1t2.c1)
- -> Bitmap Index Scan on t4_pkey
- Index Cond: (c1 = b1t2.c1)
- -> Index Scan using t3_pkey on t3 b1t3
- Index Cond: (c1 = b1t4.c1)
+ Hash Cond: (b1t1.c1 = b1t2.c1)
+ -> Seq Scan on t1 b1t1
-> Hash
- -> Seq Scan on t1 b1t1
+ -> Nested Loop
+ Join Filter: (b1t2.c1 = b1t3.c1)
+ -> Nested Loop
+ -> Seq Scan on t2 b1t2
+ -> Bitmap Heap Scan on t4 b1t4
+ Recheck Cond: (c1 = b1t2.c1)
+ -> Bitmap Index Scan on t4_pkey
+ Index Cond: (c1 = b1t2.c1)
+ -> Index Scan using t3_pkey on t3 b1t3
+ Index Cond: (c1 = b1t4.c1)
-> Hash Join
- Hash Cond: (bmt1.c1 = bmt4.c1)
- -> Nested Loop
- -> Hash Join
- Hash Cond: (bmt1.c1 = bmt2.c1)
- -> Seq Scan on t1 bmt1
- Filter: (c1 <> $2)
- -> Hash
- -> Index Scan using t2_pkey on t2 bmt2
- -> Bitmap Heap Scan on t3 bmt3
- Recheck Cond: (c1 = bmt1.c1)
- -> Bitmap Index Scan on t3_pkey
- Index Cond: (c1 = bmt1.c1)
+ Hash Cond: (bmt4.c1 = bmt1.c1)
+ -> Seq Scan on t4 bmt4
-> Hash
- -> Seq Scan on t4 bmt4
+ -> Nested Loop
+ -> Hash Join
+ Hash Cond: (bmt1.c1 = bmt2.c1)
+ -> Seq Scan on t1 bmt1
+ Filter: (c1 <> $2)
+ -> Hash
+ -> Index Scan using t2_pkey on t2 bmt2
+ -> Bitmap Heap Scan on t3 bmt3
+ Recheck Cond: (c1 = bmt1.c1)
+ -> Bitmap Index Scan on t3_pkey
+ Index Cond: (c1 = bmt1.c1)
(32 rows)
-- No. S-2-1-6
QUERY PLAN
------------------------------------------------------------------------
Aggregate
- InitPlan 1 (returns $0)
+ InitPlan 1 (returns $1)
-> Aggregate
- -> Merge Join
- Merge Cond: (b1t1.c1 = b1t2.c1)
+ -> Nested Loop
+ Join Filter: (b1t1.c1 = b1t4.c1)
-> Merge Join
- Merge Cond: (b1t1.c1 = b1t4.c1)
+ Merge Cond: (b1t1.c1 = b1t2.c1)
-> Merge Join
Merge Cond: (b1t1.c1 = b1t3.c1)
-> Index Only Scan using t1_i1 on t1 b1t1
-> Index Only Scan using t3_i1 on t3 b1t3
- -> Index Only Scan using t4_i1 on t4 b1t4
- -> Sort
- Sort Key: b1t2.c1
- -> Seq Scan on t2 b1t2
- InitPlan 2 (returns $1)
+ -> Sort
+ Sort Key: b1t2.c1
+ -> Seq Scan on t2 b1t2
+ -> Index Only Scan using t4_i1 on t4 b1t4
+ Index Cond: (c1 = b1t3.c1)
+ InitPlan 2 (returns $3)
-> Aggregate
- -> Merge Join
- Merge Cond: (b2t1.c1 = b2t2.c1)
+ -> Nested Loop
+ Join Filter: (b2t1.c1 = b2t4.c1)
-> Merge Join
- Merge Cond: (b2t1.c1 = b2t4.c1)
+ Merge Cond: (b2t1.c1 = b2t2.c1)
-> Merge Join
Merge Cond: (b2t1.c1 = b2t3.c1)
-> Index Only Scan using t1_i1 on t1 b2t1
-> Index Only Scan using t3_i1 on t3 b2t3
- -> Index Only Scan using t4_i1 on t4 b2t4
- -> Sort
- Sort Key: b2t2.c1
- -> Seq Scan on t2 b2t2
- -> Merge Join
- Merge Cond: (bmt1.c1 = bmt2.c1)
+ -> Sort
+ Sort Key: b2t2.c1
+ -> Seq Scan on t2 b2t2
+ -> Index Only Scan using t4_i1 on t4 b2t4
+ Index Cond: (c1 = b2t3.c1)
+ -> Nested Loop
+ Join Filter: (bmt1.c1 = bmt4.c1)
-> Merge Join
- Merge Cond: (bmt1.c1 = bmt4.c1)
+ Merge Cond: (bmt1.c1 = bmt2.c1)
-> Merge Join
Merge Cond: (bmt1.c1 = bmt3.c1)
-> Index Only Scan using t1_i1 on t1 bmt1
- Filter: ((c1 <> $0) AND (c1 <> $1))
+ Filter: ((c1 <> $1) AND (c1 <> $3))
-> Index Only Scan using t3_i1 on t3 bmt3
- -> Index Only Scan using t4_i1 on t4 bmt4
- -> Sort
- Sort Key: bmt2.c1
- -> Seq Scan on t2 bmt2
-(42 rows)
+ -> Sort
+ Sort Key: bmt2.c1
+ -> Seq Scan on t2 bmt2
+ -> Index Only Scan using t4_i1 on t4 bmt4
+ Index Cond: (c1 = bmt3.c1)
+(45 rows)
/*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)BitmapScan(bmt3 t3_pkey)TidScan(bmt4)
TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
duplication hint:
error hint:
- QUERY PLAN
----------------------------------------------------------------------
+ QUERY PLAN
+---------------------------------------------------------------------------
Aggregate
InitPlan 1 (returns $2)
-> Aggregate
-> Hash Join
- Hash Cond: (b1t2.c1 = b1t1.c1)
- -> Nested Loop
- Join Filter: (b1t2.c1 = b1t3.c1)
- -> Nested Loop
- -> Seq Scan on t2 b1t2
- -> Bitmap Heap Scan on t4 b1t4
- Recheck Cond: (c1 = b1t2.c1)
- -> Bitmap Index Scan on t4_pkey
- Index Cond: (c1 = b1t2.c1)
- -> Index Scan using t3_pkey on t3 b1t3
- Index Cond: (c1 = b1t4.c1)
+ Hash Cond: (b1t1.c1 = b1t2.c1)
+ -> Seq Scan on t1 b1t1
-> Hash
- -> Seq Scan on t1 b1t1
+ -> Nested Loop
+ Join Filter: (b1t2.c1 = b1t3.c1)
+ -> Nested Loop
+ -> Seq Scan on t2 b1t2
+ -> Bitmap Heap Scan on t4 b1t4
+ Recheck Cond: (c1 = b1t2.c1)
+ -> Bitmap Index Scan on t4_pkey
+ Index Cond: (c1 = b1t2.c1)
+ -> Index Scan using t3_pkey on t3 b1t3
+ Index Cond: (c1 = b1t4.c1)
InitPlan 2 (returns $4)
-> Aggregate
-> Hash Join
- Hash Cond: (b2t1.c1 = b2t3.c1)
- -> Merge Join
- Merge Cond: (b2t1.c1 = b2t2.c1)
- -> Nested Loop
- -> Index Scan using t4_pkey on t4 b2t4
- -> Bitmap Heap Scan on t1 b2t1
- Recheck Cond: (c1 = b2t4.c1)
- -> Bitmap Index Scan on t1_pkey
- Index Cond: (c1 = b2t4.c1)
- -> Sort
- Sort Key: b2t2.c1
- -> Seq Scan on t2 b2t2
+ Hash Cond: (b2t3.c1 = b2t1.c1)
+ -> Seq Scan on t3 b2t3
-> Hash
- -> Seq Scan on t3 b2t3
+ -> Merge Join
+ Merge Cond: (b2t1.c1 = b2t2.c1)
+ -> Nested Loop
+ -> Index Scan using t4_pkey on t4 b2t4
+ -> Bitmap Heap Scan on t1 b2t1
+ Recheck Cond: (c1 = b2t4.c1)
+ -> Bitmap Index Scan on t1_pkey
+ Index Cond: (c1 = b2t4.c1)
+ -> Sort
+ Sort Key: b2t2.c1
+ -> Seq Scan on t2 b2t2
-> Hash Join
- Hash Cond: (bmt1.c1 = bmt4.c1)
- -> Nested Loop
- -> Hash Join
- Hash Cond: (bmt1.c1 = bmt2.c1)
- -> Seq Scan on t1 bmt1
- Filter: ((c1 <> $2) AND (c1 <> $4))
- -> Hash
- -> Index Scan using t2_pkey on t2 bmt2
- -> Bitmap Heap Scan on t3 bmt3
- Recheck Cond: (c1 = bmt1.c1)
- -> Bitmap Index Scan on t3_pkey
- Index Cond: (c1 = bmt1.c1)
+ Hash Cond: (bmt4.c1 = bmt1.c1)
+ -> Seq Scan on t4 bmt4
-> Hash
- -> Seq Scan on t4 bmt4
+ -> Nested Loop
+ -> Hash Join
+ Hash Cond: (bmt1.c1 = bmt2.c1)
+ -> Seq Scan on t1 bmt1
+ Filter: ((c1 <> $2) AND (c1 <> $4))
+ -> Hash
+ -> Index Scan using t2_pkey on t2 bmt2
+ -> Bitmap Heap Scan on t3 bmt3
+ Recheck Cond: (c1 = bmt1.c1)
+ -> Bitmap Index Scan on t3_pkey
+ Index Cond: (c1 = bmt1.c1)
(49 rows)
-- No. S-2-1-7
Aggregate
CTE c1
-> Aggregate
- -> Merge Join
- Merge Cond: (b1t1.c1 = b1t2.c1)
+ -> Nested Loop
+ Join Filter: (b1t1.c1 = b1t4.c1)
-> Merge Join
- Merge Cond: (b1t1.c1 = b1t4.c1)
+ Merge Cond: (b1t1.c1 = b1t2.c1)
-> Merge Join
Merge Cond: (b1t1.c1 = b1t3.c1)
-> Index Only Scan using t1_i1 on t1 b1t1
-> Index Only Scan using t3_i1 on t3 b1t3
- -> Index Only Scan using t4_i1 on t4 b1t4
- -> Sort
- Sort Key: b1t2.c1
- -> Seq Scan on t2 b1t2
+ -> Sort
+ Sort Key: b1t2.c1
+ -> Seq Scan on t2 b1t2
+ -> Index Only Scan using t4_i1 on t4 b1t4
+ Index Cond: (c1 = b1t3.c1)
-> Nested Loop
Join Filter: (bmt1.c1 = bmt4.c1)
-> Nested Loop
Index Cond: (c1 = bmt3.c1)
-> Index Only Scan using t4_i1 on t4 bmt4
Index Cond: (c1 = bmt3.c1)
-(31 rows)
+(32 rows)
/*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)BitmapScan(bmt3 t3_pkey)TidScan(bmt4)
TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
duplication hint:
error hint:
- QUERY PLAN
---------------------------------------------------------------------
+ QUERY PLAN
+--------------------------------------------------------------------------
Aggregate
CTE c1
-> Aggregate
-> Hash Join
- Hash Cond: (b1t2.c1 = b1t1.c1)
- -> Nested Loop
- Join Filter: (b1t2.c1 = b1t3.c1)
- -> Nested Loop
- -> Seq Scan on t2 b1t2
- -> Bitmap Heap Scan on t4 b1t4
- Recheck Cond: (c1 = b1t2.c1)
- -> Bitmap Index Scan on t4_pkey
- Index Cond: (c1 = b1t2.c1)
- -> Index Scan using t3_pkey on t3 b1t3
- Index Cond: (c1 = b1t4.c1)
+ Hash Cond: (b1t1.c1 = b1t2.c1)
+ -> Seq Scan on t1 b1t1
-> Hash
- -> Seq Scan on t1 b1t1
- -> Nested Loop
- Join Filter: (bmt1.c1 = bmt4.c1)
- -> Nested Loop
- -> Nested Loop
- -> Hash Join
- Hash Cond: (bmt1.c1 = c1.c1)
- -> Seq Scan on t1 bmt1
- -> Hash
- -> CTE Scan on c1
- -> Index Scan using t2_pkey on t2 bmt2
- Index Cond: (c1 = bmt1.c1)
- -> Bitmap Heap Scan on t3 bmt3
- Recheck Cond: (c1 = bmt1.c1)
- -> Bitmap Index Scan on t3_pkey
- Index Cond: (c1 = bmt1.c1)
+ -> Nested Loop
+ Join Filter: (b1t2.c1 = b1t3.c1)
+ -> Nested Loop
+ -> Seq Scan on t2 b1t2
+ -> Bitmap Heap Scan on t4 b1t4
+ Recheck Cond: (c1 = b1t2.c1)
+ -> Bitmap Index Scan on t4_pkey
+ Index Cond: (c1 = b1t2.c1)
+ -> Index Scan using t3_pkey on t3 b1t3
+ Index Cond: (c1 = b1t4.c1)
+ -> Hash Join
+ Hash Cond: (bmt4.c1 = bmt1.c1)
-> Seq Scan on t4 bmt4
-(33 rows)
+ -> Hash
+ -> Nested Loop
+ -> Nested Loop
+ -> Hash Join
+ Hash Cond: (bmt1.c1 = c1.c1)
+ -> Seq Scan on t1 bmt1
+ -> Hash
+ -> CTE Scan on c1
+ -> Index Scan using t2_pkey on t2 bmt2
+ Index Cond: (c1 = bmt1.c1)
+ -> Bitmap Heap Scan on t3 bmt3
+ Recheck Cond: (c1 = bmt1.c1)
+ -> Bitmap Index Scan on t3_pkey
+ Index Cond: (c1 = bmt1.c1)
+(34 rows)
-- No. S-2-1-8
EXPLAIN (COSTS false)
Aggregate
CTE c1
-> Aggregate
- -> Merge Join
- Merge Cond: (b1t1.c1 = b1t2.c1)
+ -> Nested Loop
+ Join Filter: (b1t1.c1 = b1t4.c1)
-> Merge Join
- Merge Cond: (b1t1.c1 = b1t4.c1)
+ Merge Cond: (b1t1.c1 = b1t2.c1)
-> Merge Join
Merge Cond: (b1t1.c1 = b1t3.c1)
-> Index Only Scan using t1_i1 on t1 b1t1
-> Index Only Scan using t3_i1 on t3 b1t3
- -> Index Only Scan using t4_i1 on t4 b1t4
- -> Sort
- Sort Key: b1t2.c1
- -> Seq Scan on t2 b1t2
+ -> Sort
+ Sort Key: b1t2.c1
+ -> Seq Scan on t2 b1t2
+ -> Index Only Scan using t4_i1 on t4 b1t4
+ Index Cond: (c1 = b1t3.c1)
CTE c2
-> Aggregate
- -> Merge Join
- Merge Cond: (b2t1.c1 = b2t2.c1)
+ -> Nested Loop
+ Join Filter: (b2t1.c1 = b2t4.c1)
-> Merge Join
- Merge Cond: (b2t1.c1 = b2t4.c1)
+ Merge Cond: (b2t1.c1 = b2t2.c1)
-> Merge Join
Merge Cond: (b2t1.c1 = b2t3.c1)
-> Index Only Scan using t1_i1 on t1 b2t1
-> Index Only Scan using t3_i1 on t3 b2t3
- -> Index Only Scan using t4_i1 on t4 b2t4
- -> Sort
- Sort Key: b2t2.c1
- -> Seq Scan on t2 b2t2
+ -> Sort
+ Sort Key: b2t2.c1
+ -> Seq Scan on t2 b2t2
+ -> Index Only Scan using t4_i1 on t4 b2t4
+ Index Cond: (c1 = b2t3.c1)
-> Nested Loop
Join Filter: (bmt1.c1 = c2.c1)
-> Nested Loop
-> Index Only Scan using t4_i1 on t4 bmt4
Index Cond: (c1 = bmt3.c1)
-> CTE Scan on c2
-(48 rows)
+(50 rows)
/*+SeqScan(bmt1)IndexScan(bmt2 t2_pkey)BitmapScan(bmt3 t3_pkey)TidScan(bmt4)
TidScan(b1t1)SeqScan(b1t2)IndexScan(b1t3 t3_pkey)BitmapScan(b1t4 t4_pkey)
duplication hint:
error hint:
- QUERY PLAN
----------------------------------------------------------------------
+ QUERY PLAN
+---------------------------------------------------------------------------
Aggregate
CTE c1
-> Aggregate
-> Hash Join
- Hash Cond: (b1t2.c1 = b1t1.c1)
- -> Nested Loop
- Join Filter: (b1t2.c1 = b1t3.c1)
- -> Nested Loop
- -> Seq Scan on t2 b1t2
- -> Bitmap Heap Scan on t4 b1t4
- Recheck Cond: (c1 = b1t2.c1)
- -> Bitmap Index Scan on t4_pkey
- Index Cond: (c1 = b1t2.c1)
- -> Index Scan using t3_pkey on t3 b1t3
- Index Cond: (c1 = b1t4.c1)
+ Hash Cond: (b1t1.c1 = b1t2.c1)
+ -> Seq Scan on t1 b1t1
-> Hash
- -> Seq Scan on t1 b1t1
+ -> Nested Loop
+ Join Filter: (b1t2.c1 = b1t3.c1)
+ -> Nested Loop
+ -> Seq Scan on t2 b1t2
+ -> Bitmap Heap Scan on t4 b1t4
+ Recheck Cond: (c1 = b1t2.c1)
+ -> Bitmap Index Scan on t4_pkey
+ Index Cond: (c1 = b1t2.c1)
+ -> Index Scan using t3_pkey on t3 b1t3
+ Index Cond: (c1 = b1t4.c1)
CTE c2
-> Aggregate
-> Hash Join
- Hash Cond: (b2t1.c1 = b2t3.c1)
- -> Merge Join
- Merge Cond: (b2t1.c1 = b2t2.c1)
- -> Nested Loop
- -> Index Scan using t4_pkey on t4 b2t4
- -> Bitmap Heap Scan on t1 b2t1
- Recheck Cond: (c1 = b2t4.c1)
- -> Bitmap Index Scan on t1_pkey
- Index Cond: (c1 = b2t4.c1)
- -> Sort
- Sort Key: b2t2.c1
- -> Seq Scan on t2 b2t2
+ Hash Cond: (b2t3.c1 = b2t1.c1)
+ -> Seq Scan on t3 b2t3
-> Hash
- -> Seq Scan on t3 b2t3
- -> Nested Loop
- Join Filter: (bmt1.c1 = bmt4.c1)
- -> Nested Loop
- Join Filter: (bmt1.c1 = c2.c1)
+ -> Merge Join
+ Merge Cond: (b2t1.c1 = b2t2.c1)
+ -> Nested Loop
+ -> Index Scan using t4_pkey on t4 b2t4
+ -> Bitmap Heap Scan on t1 b2t1
+ Recheck Cond: (c1 = b2t4.c1)
+ -> Bitmap Index Scan on t1_pkey
+ Index Cond: (c1 = b2t4.c1)
+ -> Sort
+ Sort Key: b2t2.c1
+ -> Seq Scan on t2 b2t2
+ -> Hash Join
+ Hash Cond: (bmt4.c1 = bmt1.c1)
+ -> Seq Scan on t4 bmt4
+ -> Hash
-> Nested Loop
+ Join Filter: (bmt1.c1 = c2.c1)
-> Nested Loop
- -> Hash Join
- Hash Cond: (bmt1.c1 = c1.c1)
- -> Seq Scan on t1 bmt1
- -> Hash
- -> CTE Scan on c1
- -> Index Scan using t2_pkey on t2 bmt2
- Index Cond: (c1 = bmt1.c1)
- -> Bitmap Heap Scan on t3 bmt3
- Recheck Cond: (c1 = bmt1.c1)
- -> Bitmap Index Scan on t3_pkey
- Index Cond: (c1 = bmt1.c1)
- -> CTE Scan on c2
- -> Seq Scan on t4 bmt4
-(53 rows)
+ -> Nested Loop
+ -> Hash Join
+ Hash Cond: (bmt1.c1 = c1.c1)
+ -> Seq Scan on t1 bmt1
+ -> Hash
+ -> CTE Scan on c1
+ -> Index Scan using t2_pkey on t2 bmt2
+ Index Cond: (c1 = bmt1.c1)
+ -> Bitmap Heap Scan on t3 bmt3
+ Recheck Cond: (c1 = bmt1.c1)
+ -> Bitmap Index Scan on t3_pkey
+ Index Cond: (c1 = bmt1.c1)
+ -> CTE Scan on c2
+(54 rows)
----
---- No. S-2-2 the number of the tables per quiry block
EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE ti1.c2 = 1 AND ctid = '(1,1)';
QUERY PLAN
---------------------------------
- Index Scan using ti1_i2 on ti1
+ Index Scan using ti1_i4 on ti1
Index Cond: (c2 = 1)
Filter: (ctid = '(1,1)'::tid)
(3 rows)
Bitmap Heap Scan on ti1
Recheck Cond: (c2 = 1)
Filter: (ctid = '(1,1)'::tid)
- -> Bitmap Index Scan on ti1_i2
+ -> Bitmap Index Scan on ti1_i4
Index Cond: (c2 = 1)
(5 rows)
(3 rows)
-- No. S-3-3-2
-/*+IndexScan(ti1 ti1_i3 ti1_i2)*/
+/*+IndexScan(ti1 ti1_i3 ti1_i4)*/
EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE ti1.c2 = 1 AND ctid = '(1,1)';
-LOG: available indexes for IndexScan(ti1): ti1_i3 ti1_i2
+LOG: available indexes for IndexScan(ti1): ti1_i4 ti1_i3
LOG: pg_hint_plan:
used hint:
-IndexScan(ti1 ti1_i3 ti1_i2)
+IndexScan(ti1 ti1_i3 ti1_i4)
not used hint:
duplication hint:
error hint:
QUERY PLAN
---------------------------------
- Index Scan using ti1_i2 on ti1
+ Index Scan using ti1_i4 on ti1
Index Cond: (c2 = 1)
Filter: (ctid = '(1,1)'::tid)
(3 rows)
QUERY PLAN
---------------------------------
- Index Scan using ti1_i2 on ti1
+ Index Scan using ti1_i4 on ti1
Index Cond: (c2 = 1)
Filter: (ctid = '(1,1)'::tid)
(3 rows)
(5 rows)
-- No. S-3-3-5
-/*+BitmapScan(ti1 ti1_i3 ti1_i2)*/
+/*+BitmapScan(ti1 ti1_i3 ti1_i4)*/
EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE ti1.c2 = 1 AND ctid = '(1,1)';
-LOG: available indexes for BitmapScan(ti1): ti1_i3 ti1_i2
+LOG: available indexes for BitmapScan(ti1): ti1_i4 ti1_i3
LOG: pg_hint_plan:
used hint:
-BitmapScan(ti1 ti1_i3 ti1_i2)
+BitmapScan(ti1 ti1_i3 ti1_i4)
not used hint:
duplication hint:
error hint:
Bitmap Heap Scan on ti1
Recheck Cond: (c2 = 1)
Filter: (ctid = '(1,1)'::tid)
- -> Bitmap Index Scan on ti1_i2
+ -> Bitmap Index Scan on ti1_i4
Index Cond: (c2 = 1)
(5 rows)
Bitmap Heap Scan on ti1
Recheck Cond: (c2 = 1)
Filter: (ctid = '(1,1)'::tid)
- -> Bitmap Index Scan on ti1_i2
+ -> Bitmap Index Scan on ti1_i4
Index Cond: (c2 = 1)
(5 rows)
(2 rows)
-- No. S-3-3-8
-/*+IndexOnlyScan(ti1 ti1_i3 ti1_i2)*/
+/*+IndexOnlyScan(ti1 ti1_i3 ti1_i4)*/
EXPLAIN (COSTS false) SELECT c2 FROM s1.ti1 WHERE ti1.c2 >= 1;
-LOG: available indexes for IndexOnlyScan(ti1): ti1_i3 ti1_i2
+LOG: available indexes for IndexOnlyScan(ti1): ti1_i4 ti1_i3
LOG: pg_hint_plan:
used hint:
-IndexOnlyScan(ti1 ti1_i3 ti1_i2)
+IndexOnlyScan(ti1 ti1_i3 ti1_i4)
not used hint:
duplication hint:
error hint:
QUERY PLAN
-------------------------------------
- Index Only Scan using ti1_i2 on ti1
+ Index Only Scan using ti1_i4 on ti1
Index Cond: (c2 >= 1)
(2 rows)
-- No. S-3-4-24
EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 = 1;
- QUERY PLAN
----------------------------------------
- Index Only Scan using ti1_uniq on ti1
+ QUERY PLAN
+----------------------------------
+ Index Scan using ti1_hash on ti1
Index Cond: (c1 = 1)
(2 rows)
-- No. S-3-4-26
EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 = 1;
- QUERY PLAN
----------------------------------------
- Index Only Scan using ti1_uniq on ti1
+ QUERY PLAN
+----------------------------------
+ Index Scan using ti1_hash on ti1
Index Cond: (c1 = 1)
(2 rows)
duplication hint:
error hint:
- QUERY PLAN
---------------------
- Seq Scan on ti1
- Filter: (c1 = 1)
-(2 rows)
+ QUERY PLAN
+------------------------------------
+ Bitmap Heap Scan on ti1
+ Recheck Cond: (c1 = 1)
+ -> Bitmap Index Scan on ti1_gin
+ Index Cond: (c1 = 1)
+(4 rows)
-- No. S-3-4-27
EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 < 100;
duplication hint:
error hint:
- QUERY PLAN
--------------------------------------------------------------------------------
- Seq Scan on ti1
- Filter: (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery)
-(2 rows)
+ QUERY PLAN
+-----------------------------------------------------------------------------------------
+ Bitmap Heap Scan on ti1
+ Recheck Cond: (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery)
+ -> Bitmap Index Scan on ti1_ts
+ Index Cond: (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery)
+(4 rows)
-- No. S-3-4-32
EXPLAIN (COSTS false) SELECT c1 FROM s1.ti1 WHERE c1 >= 1;
Bitmap Heap Scan on ti1
Recheck Cond: (c1 = 1)
Filter: (ctid = '(1,1)'::tid)
- -> Bitmap Index Scan on ti1_uniq
+ -> Bitmap Index Scan on ti1_hash
Index Cond: (c1 = 1)
(5 rows)
Bitmap Heap Scan on ti1
Recheck Cond: (c1 = 1)
Filter: (ctid = '(1,1)'::tid)
- -> Bitmap Index Scan on ti1_uniq
+ -> Bitmap Index Scan on ti1_hash
Index Cond: (c1 = 1)
(5 rows)
QUERY PLAN
----------------------------------
- Index Scan using ti1_uniq on ti1
+ Index Scan using ti1_hash on ti1
Index Cond: (c1 = 1)
Filter: (ctid = '(1,1)'::tid)
(3 rows)
Bitmap Heap Scan on ti1
Recheck Cond: (c1 = 1)
Filter: (ctid = '(1,1)'::tid)
- -> Bitmap Index Scan on ti1_uniq
+ -> Bitmap Index Scan on ti1_hash
Index Cond: (c1 = 1)
(5 rows)
QUERY PLAN
----------------------------------
- Index Scan using ti1_uniq on ti1
+ Index Scan using ti1_hash on ti1
Index Cond: (c1 = 1)
Filter: (ctid = '(1,1)'::tid)
(3 rows)
QUERY PLAN
----------------------------------
- Index Scan using ti1_uniq on ti1
+ Index Scan using ti1_hash on ti1
Index Cond: (c1 = 1)
(2 rows)
error hint:
NoIndexOnlyScan(ti1 ti1_pkey)
- QUERY PLAN
----------------------------------------
- Index Only Scan using ti1_uniq on ti1
+ QUERY PLAN
+----------------------------------
+ Index Scan using ti1_hash on ti1
Index Cond: (c1 = 1)
(2 rows)
error hint:
NoIndexOnlyScan(ti1 ti1_pkey ti1_btree)
- QUERY PLAN
----------------------------------------
- Index Only Scan using ti1_uniq on ti1
+ QUERY PLAN
+----------------------------------
+ Index Scan using ti1_hash on ti1
Index Cond: (c1 = 1)
(2 rows)
EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c2 = 1;
QUERY PLAN
--------------------------------
- Index Scan using ti1_i2 on ti1
+ Index Scan using ti1_i4 on ti1
Index Cond: (c2 = 1)
(2 rows)
QUERY PLAN
--------------------------------
- Index Scan using ti1_i2 on ti1
+ Index Scan using ti1_i4 on ti1
Index Cond: (c2 = 1)
(2 rows)