Heikki Linnakangas <hlinnakan...@vmware.com> writes:
> * inet_mcv_join_selec() is O(n^2) where n is the number of entries in 
> the MCV lists. With the max statistics target of 10000, a worst case 
> query on my laptop took about 15 seconds to plan. Maybe that's 
> acceptable, but you went through some trouble to make planning of MCV vs 
> histogram faster, by the log2 method to compare only some values, so I 
> wonder why you didn't do the same for the MCV vs MCV case?

Actually, what I think needs to be asked is the opposite question: why is
the other code ignoring some of the statistical data?  If the user asked
us to collect a lot of stats detail it seems reasonable that he's
expecting us to use it to get more accurate estimates.  It's for sure
not obvious why these estimators should take shortcuts that are not being
taken in the much-longer-established code for scalar comparison estimates.

I'm not exactly convinced that the math adds up in this logic, either.
The way in which it combines results from looking at the MCV lists and
at the histograms seems pretty arbitrary.

                        regards, tom lane


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to