>> 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