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