Re: Slow query with backwards index scan - Mailing list pgsql-performance

From Tilmann Singer
Subject Re: Slow query with backwards index scan
Date
Msg-id 20070728192713.GH19392@tils.net
Whole thread Raw
In response to Re: Slow query with backwards index scan  (andrew@pillette.com)
Responses Re: Slow query with backwards index scan  (Craig James <craig_james@emolecules.com>)
Re: Slow query with backwards index scan  (Jeremy Harris <jgh@wizmail.org>)
List pgsql-performance
* andrew@pillette.com <andrew@pillette.com> [20070728 21:05]:
> Let's try putting the sort/limit in each piece of the UNION to speed them up separately.
>
> SELECT * FROM (
>  (SELECT * FROM large_table lt
>  WHERE lt.user_id = 12345
>  ORDER BY created_at DESC LIMIT 10) AS q1
>  UNION
>  (SELECT * FROM large_table lt
>  WHERE user_id IN (SELECT contact_id FROM relationships WHERE user_id=12345)
>  ORDER BY created_at DESC LIMIT 10) AS q2
> ORDER BY created_at DESC LIMIT 10;

It's not possible to use ORDER BY or LIMIT within unioned queries.

http://www.postgresql.org/docs/8.2/static/sql-select.html#SQL-UNION

Would that make sense at all given the way the postgresql planner
works?  Does that work in other DB's?


Til

pgsql-performance by date:

Previous
From: andrew@pillette.com
Date:
Subject: Re: Slow query with backwards index scan
Next
From: "Bruno Rodrigues Siqueira"
Date:
Subject: select on 1milion register = 6s