>> I'll be curious about tests with a normal table as well with a
>> sufficiently large shared_buffers.

> Here are results for a normal table with default shared_buffers (128 MB) and 
> large shared_buffers (4GB):

thanks. I don't see regression for a normal table, at least for this test.

In terms of your original test, I tried it out on my Ubuntu machine
and with your test as-is, I see 2.8 seconds on 17.5 and 3.3 seconds
on HEAD if the plan performs a seq scan without parallelism.
However, the test as you have it is indexing all columns
on the table. If I just index on the filtered column

```
create index on t(k);

explain (analyze,buffers,costs off,timing off)
select k from t where k = 1;
```

I see similar behavior between HEAD
```
test=# explain (analyze,buffers,costs off,timing off)
select k from t where k = 1;
                          QUERY PLAN
---------------------------------------------------------------
 Index Only Scan using t_k_idx on t (actual rows=1.00 loops=1)
   Index Cond: (k = 1)
   Heap Fetches: 1
   Index Searches: 1
   Buffers: local hit=4
 Planning Time: 0.088 ms
 Execution Time: 0.059 ms
```

and 17.5
```
test=# explain (analyze,buffers,costs off,timing off)
select k from t where k = 1;
                         QUERY PLAN
------------------------------------------------------------
 Index Only Scan using t_k_idx on t (actual rows=1 loops=1)
   Index Cond: (k = 1)
   Heap Fetches: 1
   Buffers: local hit=4
 Planning Time: 0.084 ms
 Execution Time: 0.053 ms
(6 rows)

```

--
Sami


Reply via email to