> But look here:
> -------------
> adb=> EXPLAIN  SELECT * FROM atable WHERE atable.cfield = btable.cfield AND
> atable.afield IN (SELECT btable.bfield WHERE  btable.bfield=10);
> NOTICE:  QUERY PLAN:
> 
> Hash Join  (cost=1483.00 rows=10000 width=24)
>   ->  Seq Scan on atable  (cost=399.00 rows=10000 width=20)
>         SubPlan
>           ->  Index Scan using gindex on btable  (cost=2.05 rows=1 width=4)
>   ->  Hash  (cost=399.00 rows=10000 width=4)
>         ->  Seq Scan on btable  (cost=399.00 rows=10000 width=4)
> -------------

You can't use in index here because an IN is not selective, or if it is,
there is way for the optimizer to know this.


-- 
  Bruce Momjian                        |  http://www.op.net/~candle
  [EMAIL PROTECTED]            |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026

Reply via email to