Re: Index not used in functions in 7.0? - Mailing list pgsql-sql

From Kyle Bateman
Subject Re: Index not used in functions in 7.0?
Date
Msg-id 39218FB6.450431A8@actarg.com
Whole thread Raw
In response to Index not used in functions in 7.0?  (Kyle Bateman <kyle@actarg.com>)
List pgsql-sql
mig@utdt.edu wrote:

> I am probably completely wrong, but at least it will be short ...
>
> Could it be that
>     select sum(tquant)
>         from mtr_reg
>         where to_proj = $2
>         and pnum = $1
>         and (status = 'clsd' or status = 'open' or status = 'prip')
>     ;
> makes it harder for the optimizer due to the ORs, and that
>     select sum(tquant)
>         from mtr_reg
>         where to_proj = $2
>         and pnum = $1
>         and status in ('clsd','open','prip')
>     --- last line changed
>     ;
> would produce a better cost estimate?
>
> Miguel Sofer

Thanks for the input.  Your point might be correct, but my results are
the same regardless of the clause attached to the status field.  In one
of my tests, the query simply had "and status = 'clsd'."  The issue here
is that a sequential scan is being chosen over an indexed scan when the
query is run from within a function.


Attachment

pgsql-sql by date:

Previous
From: mig@utdt.edu
Date:
Subject: Re: Index not used in functions in 7.0?
Next
From: Tom Lane
Date:
Subject: Re: Index not used in functions in 7.0?