Re: cost_agg() with AGG_HASHED does not account for startup costs

From: David Rowley <david(dot)rowley(at)2ndquadrant(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: cost_agg() with AGG_HASHED does not account for startup costs
Date: 2015-08-04 22:15:48
Message-ID: CAKJS1f9z+QVVVaQaa-3F3rXO59xh=H9r9icvmy7PY2d401C1FA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 5 August 2015 at 01:54, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:

> David Rowley <david(dot)rowley(at)2ndquadrant(dot)com> writes:
> > During working on allowing the planner to perform GROUP BY before joining
> > I've noticed that cost_agg() completely ignores input_startup_cost
> > when aggstrategy == AGG_HASHED.
>
> Isn't your proposed patch double-counting the input startup cost?
> input_total_cost already includes that charge. The calculation
> reflects the fact that we have to read all of the input before we
> can deliver any aggregated results, so the time to get the first
> input row isn't really interesting.
>
> If this were wrong, the PLAIN costing path would also be wrong, but
> I don't think that either one is.
>
>
Sorry, false alarm, you're right.

This was a bug in my code where I was adding disable_cost to the
startup_cost, but not to the total_cost.

--
David Rowley http://www.2ndQuadrant.com/
<http://www.2ndquadrant.com/>
PostgreSQL Development, 24x7 Support, Training & Services

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2015-08-04 23:34:39 pgsql: Fix pg_dump to dump shell types.
Previous Message Alvaro Herrera 2015-08-04 22:13:00 Re: max_worker_processes on the standby