Re: Overhead of union versus union all - Mailing list pgsql-general

From Scott Marlowe
Subject Re: Overhead of union versus union all
Date
Msg-id dcc563d10907091941h597b788o8c97e1f5a512cbd6@mail.gmail.com
Whole thread Raw
In response to Re: Overhead of union versus union all  (Bruce Momjian <bruce@momjian.us>)
Responses Re: Overhead of union versus union all
Re: Overhead of union versus union all
List pgsql-general
On Thu, Jul 9, 2009 at 7:58 PM, Bruce Momjian<bruce@momjian.us> wrote:
> Scott Bailey wrote:
>> Alvaro Herrera wrote:
>> > Tim Keitt wrote:
>> >> I am combining query results that I know are disjoint. I'm wondering
>> >> how much overhead there is in calling union versus union all. (Just
>> >> curious really; I can't see a reason not to use union all.)
>> >
>> > UNION needs to uniquify the output, for which it plasters an additional
>> > sort step, whereas UNION ALL does not need to uniquify its output and
>> > thus it can avoid the sort step.  Using UNION ALL is recommended
>> > wherever possible.
>> >
>>
>> I think I read somewhere that as of 8.4 it no longer required the sort
>> step, due to the improvements in hashing. Here it is
>>
>> http://wiki.postgresql.org/wiki/WhatsNew84#Performance
>
> Oh, yea, hashing is used in some cases rather than sort.  I assume sort
> is still used if the hash exceeds workmem size.

The important point being that it's still more expensive than a plain
union all thought, right?

pgsql-general by date:

Previous
From: Scott Bailey
Date:
Subject: Re: ubuntu packages for 8.4
Next
From: Bruce Momjian
Date:
Subject: Re: Overhead of union versus union all