set effective_io_concurrency=0; set enable_indexscan=off; set enable_seqscan=off; explain (analyze, buffers)  select * from test where id between 50 and 100000 and val != '';
                                                         QUERY PLAN                                                         
----------------------------------------------------------------------------------------------------------------------------
 Bitmap Heap Scan on test  (cost=7.62..467.66 rows=498 width=36) (actual time=304.036..4011.782 rows=99951 loops=1)
   Recheck Cond: ((id >= 50) AND (id <= 100000))
   Filter: (val <> ''::text)
   Heap Blocks: exact=1539
   Buffers: shared read=1814
   ->  Bitmap Index Scan on test_pkey  (cost=0.00..7.49 rows=500 width=0) (actual time=201.960..201.960 rows=99951 loops=1)
         Index Cond: ((id >= 50) AND (id <= 100000))
         Buffers: shared read=275
 Planning time: 111.814 ms
 Execution time: 4017.999 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 50 and 100000 and val != '';
                                                        QUERY PLAN                                                        
--------------------------------------------------------------------------------------------------------------------------
 Bitmap Heap Scan on test  (cost=7.62..467.66 rows=498 width=36) (actual time=72.961..377.772 rows=99951 loops=1)
   Recheck Cond: ((id >= 50) AND (id <= 100000))
   Filter: (val <> ''::text)
   Heap Blocks: exact=1539
   Buffers: shared read=1814
   ->  Bitmap Index Scan on test_pkey  (cost=0.00..7.49 rows=500 width=0) (actual time=71.753..71.753 rows=99951 loops=1)
         Index Cond: ((id >= 50) AND (id <= 100000))
         Buffers: shared read=275
 Planning time: 253.191 ms
 Execution time: 383.694 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 50 and 100000 and val != '';
                                                        QUERY PLAN                                                        
--------------------------------------------------------------------------------------------------------------------------
 Bitmap Heap Scan on test  (cost=7.62..467.66 rows=498 width=36) (actual time=83.340..529.503 rows=99951 loops=1)
   Recheck Cond: ((id >= 50) AND (id <= 100000))
   Filter: (val <> ''::text)
   Heap Blocks: exact=1539
   Buffers: shared read=1814
   ->  Bitmap Index Scan on test_pkey  (cost=0.00..7.49 rows=500 width=0) (actual time=81.638..81.638 rows=99951 loops=1)
         Index Cond: ((id >= 50) AND (id <= 100000))
         Buffers: shared read=275
 Planning time: 59.399 ms
 Execution time: 535.686 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 50 and 100000 and val != '';
                                                        QUERY PLAN                                                        
--------------------------------------------------------------------------------------------------------------------------
 Bitmap Heap Scan on test  (cost=7.62..467.66 rows=498 width=36) (actual time=77.651..561.755 rows=99951 loops=1)
   Recheck Cond: ((id >= 50) AND (id <= 100000))
   Filter: (val <> ''::text)
   Heap Blocks: exact=1539
   Buffers: shared read=1814
   ->  Bitmap Index Scan on test_pkey  (cost=0.00..7.49 rows=500 width=0) (actual time=73.832..73.832 rows=99951 loops=1)
         Index Cond: ((id >= 50) AND (id <= 100000))
         Buffers: shared read=275
 Planning time: 95.948 ms
 Execution time: 570.221 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 50 and 100000 and val != '';
                                                        QUERY PLAN                                                        
--------------------------------------------------------------------------------------------------------------------------
 Bitmap Heap Scan on test  (cost=7.62..467.66 rows=498 width=36) (actual time=89.243..846.926 rows=99951 loops=1)
   Recheck Cond: ((id >= 50) AND (id <= 100000))
   Filter: (val <> ''::text)
   Heap Blocks: exact=1539
   Buffers: shared read=1814
   ->  Bitmap Index Scan on test_pkey  (cost=0.00..7.49 rows=500 width=0) (actual time=80.809..80.809 rows=99951 loops=1)
         Index Cond: ((id >= 50) AND (id <= 100000))
         Buffers: shared read=275
 Planning time: 98.412 ms
 Execution time: 852.960 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 50 and 100000 and val != '';
                                                        QUERY PLAN                                                        
--------------------------------------------------------------------------------------------------------------------------
 Bitmap Heap Scan on test  (cost=7.62..467.66 rows=498 width=36) (actual time=58.286..650.088 rows=99951 loops=1)
   Recheck Cond: ((id >= 50) AND (id <= 100000))
   Filter: (val <> ''::text)
   Heap Blocks: exact=1539
   Buffers: shared read=1814
   ->  Bitmap Index Scan on test_pkey  (cost=0.00..7.49 rows=500 width=0) (actual time=56.538..56.538 rows=99951 loops=1)
         Index Cond: ((id >= 50) AND (id <= 100000))
         Buffers: shared read=275
 Planning time: 56.288 ms
 Execution time: 656.097 ms
(10 rows)

