Skip site navigation (1) Skip section navigation (2)

Peripheral Links

Header And Logo

PostgreSQL
| The world's most advanced open source database.

Site Navigation

Search for
  Advanced Search

Re: Slow query with backwards index scan



* 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



Home | Main Index | Thread Index

Privacy Policy | PostgreSQL Archives hosted by Command Prompt, Inc. | Designed by tinysofa
Copyright © 1996 – 2007 PostgreSQL Global Development Group