On Thu, 25 Jan 2001 nelson@radix.com.br wrote:
>
> Hi,
>
> I realized that PostgreSQL (7.0.3) optimizer doesn�t use indexes in a query
> like "select * from my table where pk=1", where the field pk is of
> type int8.
> I changed the type to int4, and now it uses the index (a lot faster). I also
> tryed changing the type to numeric, with the same results.
> Why does it happen? Is there something special with type int8 ???
Forgot about that. :(
The reason is that the 1 is being treated as an int4 and it's not smart
enough to realize it can use the int8 index for the search.
select * from table where pk=1::int8 should use the index if pk is an
int8 column.