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

From Bruce Momjian
Subject Re: Overhead of union versus union all
Date
Msg-id 200907092014.n69KEh309113@momjian.us
Whole thread Raw
In response to Re: Overhead of union versus union all  (Alvaro Herrera <alvherre@commandprompt.com>)
List pgsql-general
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.

Yep, ideally UNION ALL would be the default behavior, but that standard
requires otherwise.  Many people don't know that UNION has an extra
SORT/UNIQUE step.

--
  Bruce Momjian  <bruce@momjian.us>        http://momjian.us
  EnterpriseDB                             http://enterprisedb.com

  + If your life is a hard drive, Christ can be your backup. +

pgsql-general by date:

Previous
From: Adam Rich
Date:
Subject: Re: Overhead of union versus union all
Next
From:
Date:
Subject: Re: Help me please...