Franck Routier <franck.routier@axege.com> writes: > Le 05/04/2013 16:17, Tom Lane a écrit : >> What have you got the statistics targets set to in this database?
> Ok, the problem definitely comes from the default_statistics_target > which is obviously too high on the database.
Yeah, eqjoinsel() is O(N^2) in the lengths of the MCV lists, in the worst case where there's little overlap in the list memberships. The actual cost would depend a lot on the specific column datatypes.
I guess this pre-emptively answers a question I was intending to ask on performance: Whether anyone increased default_statistics_target and came to regret it. I had seen several problems fixed by increasing default_statistics_target, but this is the first one I recall caused by increasing it.
Do you think fixing the O(N^2) behavior would be a good to-do item?