From: | Robert Haas <robertmhaas(at)gmail(dot)com> |
---|---|
To: | Etsuro Fujita <fujita(dot)etsuro(at)lab(dot)ntt(dot)co(dot)jp> |
Cc: | Ants Aasma <ants(at)cybertec(dot)at>, Jay Levitt <jay(dot)levitt(at)gmail(dot)com>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>, Francois Deliege <fdeliege(at)gmail(dot)com> |
Subject: | Re: [PATCH] Lazy hashaggregate when no aggregation is needed |
Date: | 2012-06-22 14:12:58 |
Message-ID: | CA+TgmoamUGSAch8o_SF0-N=tix6XZz_t9RJn0js=0=G2tBBtVA@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Tue, Jun 19, 2012 at 5:41 AM, Etsuro Fujita
<fujita(dot)etsuro(at)lab(dot)ntt(dot)co(dot)jp> wrote:
>> I'm confused by this remark, because surely the query planner does it this
>> way only if there's no LIMIT. When there is a LIMIT, we choose based on
>> the startup cost plus the estimated fraction of the total cost we expect
>> to pay based on dividing the LIMIT by the overall row count estimate. Or
>> is this not what you're talking about?
>
> I think that Ants is pointing the way of estimating costs in
> choose_hashed_grouping()/choose_hashed_distinct(), ie cost_agg() for
> cheapest_path + hashagg, where the costs are calculated based on the total
> cost only of cheapest_path. I think that it might be good to do cost_agg()
> for the discussed case with the AGG_SORTED strategy, not the AGG_HASHED
> strategy.
Well, Ants already made some adjustments to those functions; not sure
if this means they need some more adjustment, but I don't see that
there's a general problem with the costing algorithm around LIMIT.
--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2012-06-22 14:18:35 | Re: [PATCH 04/16] Add embedded list interface (header only) |
Previous Message | Robert Haas | 2012-06-22 14:09:59 | Re: [PATCH 01/16] Overhaul walsender wakeup handling |