From: | Scott Marlowe <scott(dot)marlowe(at)gmail(dot)com> |
---|---|
To: | Bruce Momjian <bruce(at)momjian(dot)us> |
Cc: | Scott Bailey <artacus(at)comcast(dot)net>, pgsql-general(at)postgresql(dot)org |
Subject: | Re: Overhead of union versus union all |
Date: | 2009-07-10 02:41:36 |
Message-ID: | dcc563d10907091941h597b788o8c97e1f5a512cbd6@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On Thu, Jul 9, 2009 at 7:58 PM, Bruce Momjian<bruce(at)momjian(dot)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?
From | Date | Subject | |
---|---|---|---|
Next Message | decibel | 2009-07-10 03:01:24 | Re: Multi - table statistics |
Previous Message | Scott Bailey | 2009-07-10 02:38:41 | Re: ubuntu packages for 8.4 |