Re: Speed difference between select ... union select ... and select from partitioned_table - Mailing list pgsql-performance

From Gregory Stark
Subject Re: Speed difference between select ... union select ... and select from partitioned_table
Date
Msg-id 87tzod1sxm.fsf@oxford.xeocode.com
Whole thread Raw
In response to Speed difference between select ... union select ... and select from partitioned_table  (Pablo Alcaraz <pabloa@laotraesquina.com.ar>)
List pgsql-performance
"Pablo Alcaraz" <pabloa@laotraesquina.com.ar> writes:

> Hi List!
>
> I executed 2 equivalents queries. The first one uses a union structure. The
> second uses a partitioned table. The tables are the same with 30 millions of
> rows each one and the returned rows are the same.
>
> But the union query perform faster than the partitioned query.
>
> My question is: why? :)
>
> [pabloa@igor testeo]$ cat query-union.sql
> select e, p,  sum( c) as c
> from (
>        select e, p, count( *) as c
>        from tt_00003
>        group by e, p
>        union
>        select e, p, count( *) as c
>        from tt_00006
>        group by e, p
>        union
...


You should send along the "explain analyze" results for both queries,
otherwise we're just guessing.

Also, you should consider using UNION ALL instead of plain UNION.

Finally you should consider removing all the intermediate GROUP BYs and just
group the entire result. In theory it should be faster but in practice I'm not
sure it works out that way.

--
  Gregory Stark
  EnterpriseDB          http://www.enterprisedb.com

pgsql-performance by date:

Previous
From: Pablo Alcaraz
Date:
Subject: Re: Speed difference between select ... union select ... and select from partitioned_table
Next
From: "Joshua D. Drake"
Date:
Subject: Re: Suggestions on an update query