Re: [GENERAL] Basic question about indexes (6.5.2) - Mailing list pgsql-general

From Aaron J. Seigo
Subject Re: [GENERAL] Basic question about indexes (6.5.2)
Date
Msg-id 99111517383005.15505@stilborne
Whole thread Raw
In response to Basic question about indexes (6.5.2)  ("Alain TESIO" <tesio@easynet.fr>)
List pgsql-general
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

pgsql-general by date:

Previous
From: "Alain TESIO"
Date:
Subject: Using functions with indexes
Next
From: Jason Leach
Date:
Subject: Debian PKG.