Re: Order by behaviour
От | Guido Neitzer |
---|---|
Тема | Re: Order by behaviour |
Дата | |
Msg-id | 55DD6E49-BC80-443D-9F6E-573B6CEE961D@pharmaline.de обсуждение исходный текст |
Ответ на | Order by behaviour (Carlos Benkendorf <carlosbenkendorf@yahoo.com.br>) |
Ответы |
Re: Order by behaviour
|
Список | pgsql-performance |
On 23.12.2005, at 13:34 Uhr, Carlos Benkendorf wrote: > For some implementation reason in 8.0.3 the query is returning the > rows in the correct order even without the order by but in 8.1.1 > probably the implementation changed and the rows are not returning > in the correct order. You will never be sure to get rows in a specific order without an "order by". I don't know why PG is faster without ordering, perhaps others can help with that so you don't need a workaround like this: If you can't force PostgreSQL to perform better on the ordered query, what about retrieving only the primary keys for the rows you want unordered in a subquery and using an "where primaryKey in (...) order by ..." statement with ordering the five rows? Like this: select * from mytable where pk in (select pk from mytable where ...) order by ...; I don't know whether the query optimizer will flatten this query, but you can try it. cug -- PharmaLine Essen, GERMANY and Big Nerd Ranch Europe - PostgreSQL Training, Feb. 2006, Rome, Italy http://www.bignerdranch.com/classes/postgresql.shtml
Вложения
В списке pgsql-performance по дате отправления: