Re: Overhead of union versus union all

From: Adam Rich <adam(dot)r(at)sbcglobal(dot)net>
To: Tim Keitt <tkeitt(at)keittlab(dot)org>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: Overhead of union versus union all
Date: 2009-07-09 20:11:55
Message-ID: 4A564F0B.9090201@sbcglobal.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

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.) (cc me
> please; not subscribed...)
>
> THK
>

I think you can test this one yourself pretty easily. Just run the two
queries with "explain analyze". Union All should run in about the sum
of the separate queries. Plain Union will always be slower, because it
takes the same results from "union all" and runs them through an extra
sort/distinct or hash step. In my tests, on a query with 600,000 rows,
the Plain Union took about 3x as long to complete.

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Bruce Momjian 2009-07-09 20:14:43 Re: Overhead of union versus union all
Previous Message Alvaro Herrera 2009-07-09 20:05:13 Re: Overhead of union versus union all