Re: Multicolumn order by - Mailing list pgsql-performance

From Tom Lane
Subject Re: Multicolumn order by
Date
Msg-id 19819.1145401713@sss.pgh.pa.us
Whole thread Raw
In response to Multicolumn order by  (Theo Kramer <theo@flame.co.za>)
Responses Re: Multicolumn order by  (Theo Kramer <theo@flame.co.za>)
List pgsql-performance
Theo Kramer <theo@flame.co.za> writes:
> select * from mytable where
>   (c1 = 'c1v' and c2 = 'c2v' and c3 >= 'c3v') or
>   (c1 = 'c1v' and c2 > 'c2v') or
>   (c1 > 'c1v')
>   order by c1, c2, c3;

Yeah ... what you really want is the SQL-spec row comparison operator

select ... where (c1,c2,c3) >= ('c1v','c2v','c3v') order by c1,c2,c3;

This does not work properly in any current PG release :-( but it does
work and is optimized well in CVS HEAD.  See eg this thread
http://archives.postgresql.org/pgsql-hackers/2006-02/msg00209.php

            regards, tom lane

pgsql-performance by date:

Previous
From: Tom Lane
Date:
Subject: Re: creating of temporary table takes very long
Next
From: "Jim C. Nasby"
Date:
Subject: Re: Multicolumn order by