| From: | Tilmann Singer <tils-pgsql(at)tils(dot)net> |
|---|---|
| To: | andrew(at)pillette(dot)com |
| Cc: | pgsql-performance(at)postgresql(dot)org |
| Subject: | Re: Slow query with backwards index scan |
| Date: | 2007-07-28 19:27:13 |
| Message-ID: | 20070728192713.GH19392@tils.net |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-performance |
* andrew(at)pillette(dot)com <andrew(at)pillette(dot)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
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Bruno Rodrigues Siqueira | 2007-07-28 19:27:14 | select on 1milion register = 6s |
| Previous Message | andrew | 2007-07-28 19:03:52 | Re: Slow query with backwards index scan |