Jon Nelson <jnelson+pgsql@jamponi.net> writes:
> Your comment regarding "each individual de-duplication looked like it
> would fit in work_mem" doesn't really make sense, exactly. Maybe I'm
> misunderstanding you.
Yeah. What I was suggesting was to NOT add the DISTINCT's, but instead
raise work_mem high enough so you get just one HashAggregation step at
the top level. (Although I think this only works in 8.4 and up.)
That should be faster than two levels of de-duplication.
regards, tom lane