Hi...
On Mon, 15 Nov 1999, Alain TESIO wrote:
> create table T1 ( x int );
> create table T2 ( y int );
> < insert from 1 to 1000 in T1 and T2>
> create index idx_t1 on T1 ( x );
> create index idx_t2 on T2 ( y );
> explain select T1.x from T1,T2 where T1.x=T2.y;
instead try:
explain select T1.x from T1,T2 where T1.x=T2.y::int;
NOTICE: QUERY PLAN:
Nested Loop (cost=2093.00 rows=100001 width=8)
-> Seq Scan on t2 (cost=43.00 rows=1000 width=4)
-> Index Scan using idx_t1 on t1 (cost=2.05 rows=1000 width=4)
EXPLAIN
the reason for this is that unless the input is specifically known to be of the
right type (and it almost never does unless you force a typecast) it won't use
the index(es) available.
--
Aaron J. Seigo
Sys Admin