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

From Craig James
Subject Re: Slow query with backwards index scan
Date
Msg-id 46ABA1AA.7020701@emolecules.com
Whole thread Raw
In response to Re: Slow query with backwards index scan  (Tilmann Singer <tils-pgsql@tils.net>)
Responses Re: Slow query with backwards index scan
List pgsql-performance
Tilmann Singer wrote:
> * 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

If I'm reading this documentation correctly, it *is* possible, as long as they're inside of a sub-select, as in this
case.

Craig

pgsql-performance by date:

Previous
From: Hervé Piedvache
Date:
Subject: Re: select on 1milion register = 6s
Next
From: Jeremy Harris
Date:
Subject: Re: Slow query with backwards index scan