Re: Cardinality estimation for group by - Mailing list pgsql-hackers

From Robert Haas
Subject Re: Cardinality estimation for group by
Date
Msg-id CA+Tgmob0AV7Z37s5srqyOTaFXAgM8LwjWZn_Eud59hp4oKs2wQ@mail.gmail.com
Whole thread Raw
In response to Cardinality estimation for group by  (Chenxi Li <spiritlcx@gmail.com>)
List pgsql-hackers
On Tue, Oct 4, 2016 at 8:05 AM, Chenxi Li <spiritlcx@gmail.com> wrote:
> How is cardinality estimation for "group by" is done and where is the code
> doing that?

I would suggest that you start by looking at estimate_num_groups() in
src/backend/utils/adt/selfuncs.c.  You might also want to look at
cost_agg() in src/backend/optimizer/path/costsize.c, and also the
places where it gets called.  They don't all estimate the number of
groups in the same way.

-- 
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company



pgsql-hackers by date:

Previous
From: Robert Haas
Date:
Subject: Re: asynchronous execution
Next
From: Tom Lane
Date:
Subject: Our "fallback" atomics implementation doesn't actually work