On 02/09/11 11:13, Tom Lane wrote:
I wrote:
Mark Kirkwood<mark.kirkwood@xxxxxxxxxxxxxxx> writes:
[ assorted examples showing that commit
7f3eba30c9d622d1981b1368f2d79ba0999cdff2 has got problems ]
...
So, not only are you correct that we should revert the changes to
eqjoinsel_inner, but what's happening in eqjoinsel_semi is wrong too.
I've retested these examples with the patches I committed yesterday.
Six of the eight examples are estimated pretty nearly dead on, while the
other two are estimated about 50% too high (still a lot better than
before). AFAICT there's no easy way to improve those estimates further;
eqjoinsel_semi just plain hasn't got enough information to know how many
matches there will be.
Just noticed your two commits this morning and ran them through the
examples too - results look really good! Not only are the plain join
queries looking way better but that last semi join that was way off is
now being estimated pretty close. Should be interesting to see how much
this improves more complex queries!
Cheers
Mark
--
Sent via pgsql-performance mailing list (pgsql-performance@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-performance