set effective_io_concurrency=0; set enable_indexscan=off; set enable_seqscan=off; explain (analyze, buffers)  select * from test where id between 200 and 100000 and val != '';
                                                        QUERY PLAN                                                        
--------------------------------------------------------------------------------------------------------------------------
 Bitmap Heap Scan on test  (cost=7.62..467.66 rows=498 width=36) (actual time=49.622..543.230 rows=99801 loops=1)
   Recheck Cond: ((id >= 200) AND (id <= 100000))
   Filter: (val <> ''::text)
   Heap Blocks: exact=1536
   Buffers: shared read=1811
   ->  Bitmap Index Scan on test_pkey  (cost=0.00..7.49 rows=500 width=0) (actual time=48.727..48.727 rows=99801 loops=1)
         Index Cond: ((id >= 200) AND (id <= 100000))
         Buffers: shared read=275
 Planning time: 52.731 ms
 Execution time: 549.281 ms
(10 rows)

set effective_io_concurrency=1; set enable_indexscan=off; set enable_seqscan=off; explain (analyze, buffers)  select * from test where id between 200 and 100000 and val != '';
                                                        QUERY PLAN                                                        
--------------------------------------------------------------------------------------------------------------------------
 Bitmap Heap Scan on test  (cost=7.62..467.66 rows=498 width=36) (actual time=52.706..5026.120 rows=99801 loops=1)
   Recheck Cond: ((id >= 200) AND (id <= 100000))
   Filter: (val <> ''::text)
   Heap Blocks: exact=1536
   Buffers: shared read=1811
   ->  Bitmap Index Scan on test_pkey  (cost=0.00..7.49 rows=500 width=0) (actual time=52.110..52.110 rows=99801 loops=1)
         Index Cond: ((id >= 200) AND (id <= 100000))
         Buffers: shared read=275
 Planning time: 66.900 ms
 Execution time: 5032.522 ms
(10 rows)

set effective_io_concurrency=0; set enable_indexscan=off; set enable_seqscan=off; explain (analyze, buffers)  select * from test where id between 200 and 100000 and val != '';
                                                        QUERY PLAN                                                        
--------------------------------------------------------------------------------------------------------------------------
 Bitmap Heap Scan on test  (cost=7.62..467.66 rows=498 width=36) (actual time=72.216..686.276 rows=99801 loops=1)
   Recheck Cond: ((id >= 200) AND (id <= 100000))
   Filter: (val <> ''::text)
   Heap Blocks: exact=1536
   Buffers: shared read=1811
   ->  Bitmap Index Scan on test_pkey  (cost=0.00..7.49 rows=500 width=0) (actual time=71.291..71.291 rows=99801 loops=1)
         Index Cond: ((id >= 200) AND (id <= 100000))
         Buffers: shared read=275
 Planning time: 69.762 ms
 Execution time: 692.631 ms
(10 rows)

set effective_io_concurrency=1; set enable_indexscan=off; set enable_seqscan=off; explain (analyze, buffers)  select * from test where id between 200 and 100000 and val != '';
                                                        QUERY PLAN                                                        
--------------------------------------------------------------------------------------------------------------------------
 Bitmap Heap Scan on test  (cost=7.62..467.66 rows=498 width=36) (actual time=77.765..5132.219 rows=99801 loops=1)
   Recheck Cond: ((id >= 200) AND (id <= 100000))
   Filter: (val <> ''::text)
   Heap Blocks: exact=1536
   Buffers: shared read=1811
   ->  Bitmap Index Scan on test_pkey  (cost=0.00..7.49 rows=500 width=0) (actual time=77.138..77.138 rows=99801 loops=1)
         Index Cond: ((id >= 200) AND (id <= 100000))
         Buffers: shared read=275
 Planning time: 102.500 ms
 Execution time: 5138.669 ms
(10 rows)

set effective_io_concurrency=0; set enable_indexscan=off; set enable_seqscan=off; explain (analyze, buffers)  select * from test where id between 200 and 100000 and val != '';
                                                        QUERY PLAN                                                        
--------------------------------------------------------------------------------------------------------------------------
 Bitmap Heap Scan on test  (cost=7.62..467.66 rows=498 width=36) (actual time=66.578..787.417 rows=99801 loops=1)
   Recheck Cond: ((id >= 200) AND (id <= 100000))
   Filter: (val <> ''::text)
   Heap Blocks: exact=1536
   Buffers: shared read=1811
   ->  Bitmap Index Scan on test_pkey  (cost=0.00..7.49 rows=500 width=0) (actual time=65.653..65.653 rows=99801 loops=1)
         Index Cond: ((id >= 200) AND (id <= 100000))
         Buffers: shared read=275
 Planning time: 55.236 ms
 Execution time: 793.342 ms
(10 rows)

set effective_io_concurrency=1; set enable_indexscan=off; set enable_seqscan=off; explain (analyze, buffers)  select * from test where id between 200 and 100000 and val != '';
                                                        QUERY PLAN                                                        
--------------------------------------------------------------------------------------------------------------------------
 Bitmap Heap Scan on test  (cost=7.62..467.66 rows=498 width=36) (actual time=66.204..5369.549 rows=99801 loops=1)
   Recheck Cond: ((id >= 200) AND (id <= 100000))
   Filter: (val <> ''::text)
   Heap Blocks: exact=1536
   Buffers: shared read=1811
   ->  Bitmap Index Scan on test_pkey  (cost=0.00..7.49 rows=500 width=0) (actual time=65.285..65.285 rows=99801 loops=1)
         Index Cond: ((id >= 200) AND (id <= 100000))
         Buffers: shared read=275
 Planning time: 58.094 ms
 Execution time: 5375.822 ms
(10 rows)

