Re: Disk-based hash aggregate's cost model

Peter Geoghegan <pg@bowt.ie>

From: Peter Geoghegan <pg@bowt.ie>
To: Tomas Vondra <tomas.vondra@2ndquadrant.com>
Cc: Jeff Davis <pgsql@j-davis.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2020-09-01T21:48:07Z
Lists: pgsql-hackers
On Tue, Sep 1, 2020 at 2:19 AM Tomas Vondra
<tomas.vondra@2ndquadrant.com> wrote:
> FWIW I suspect some of this difference may be due to logical vs.
> physical I/O. iosnoop only tracks physical I/O sent to the device, but
> maybe we do much more logical I/O and it simply does not expire from
> page cache for the sort. It might behave differently for larger data
> set, longer query, ...

There is also the fact that the LogicalTapeSetBlocks() instrumentation
is known to have problems that we still need to fix:

https://www.postgresql.org/message-id/CAH2-Wzn5PCBLUrrds=hD439LtWP+PD7ekRTd=8LdtqJ+KO5D1Q@mail.gmail.com

I'm not suggesting that this is a significant factor here. But I can't
rule it out just yet either.

> I don't know. I certainly understand the desire not to change things
> this late. OTOH I'm worried that we'll end up receiving a lot of poor
> plans post release.

I think that this needs to get fixed before release.

-- 
Peter Geoghegan



Commits

  1. Adjust cost model for HashAgg that spills to disk.