Greg Stark wrote:
> 
> Bruce Momjian <[EMAIL PROTECTED]> writes:
> 
> > TODO item?
> 
> On that note several prior conversations I had here ended with WIBNI
> conclusions that really ought to be TODO items, in my humble opinion. Two come
> to mind off the top of my head resulting in:
> 
> . "SELECT * FROM x JOIN y USING (b) WHERE a=?" could use an index on y(a,b)
>   since for a constant value of "a" the index traversal would be effectively
>   equivalent just be "b". This could result in an efficient merge join
>   avoiding an unnecessary sort.
> 
> . The semantics for row-value expressions is wrong. (a,b) < (x,y) should be
>   true if a<x or if a=x and b<y. Currently it expands to a<x and b<y. 
> 
> . Fix row-value expression handling to not depend on the operator names and
>   instead use btree access method strategy values instead, allowing row-value
>   expressions on other operators with <,=,> behaviour (ie btree indexable
>   behaviour).
> 
> . Allow multi-column indexes to be used to optimize row-value expressions. Ie,
>   allow a btree index on a,b to be used to execute an expression like (a,b) <
>   (x,y).

I have not heard of any of those so I have not been actively excluding
them from the TODO list.  However, I need someone with optimizer
experience to make a recommendation.

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  [EMAIL PROTECTED]               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073

---------------------------(end of broadcast)---------------------------
TIP 6: Have you searched our list archives?

               http://archives.postgresql.org

Reply via email to