Re: a question about row estimation in postgres

From: Tomas Vondra <tv(at)fuzzy(dot)cz>
To: pgsql-general(at)postgresql(dot)org
Subject: Re: a question about row estimation in postgres
Date: 2011-03-20 20:31:55
Message-ID: 4D86643B.5060404@fuzzy.cz
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Dne 20.3.2011 08:20, Reynold Xin napsal(a):
> Following the formula outlined
> in http://www.postgresql.org/docs/8.3/static/row-estimation-examples.html
>
> Both gradrate 10 and gradrate 11 would fall in the first bucket.
>
> Shouldn't the row estimation be:
>
> (11 - 8) / (33 - 8) / 10 * 1302 = 15.624
> and
> (10 - 8) / (33 - 8) / 10 * 1302 = 10.416
>
> instead of 11 and 7?
>
> Perhaps I am missing something. I'd appreciate if you can point it out.
> Thanks!

I haven't checked the exact estimation algorithm implementation, but
I've noticed you're using the exact cardinality (1302). The planner does
not have this exact information, it has to work with the value stored in
pg_class.reltuples - what does this query return?

select reltuples from rankings where relname = 'rankings'

I guess it will be about 900.

Tomas

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Nathan Boley 2011-03-20 21:22:19 Re: a question about row estimation in postgres
Previous Message matt jones 2011-03-20 19:38:04 New Application Development Announcement