Will an outer join on two indexed fields use the indexes?

From: "Nick Fankhauser" <nickf(at)ontko(dot)com>
To: "pgsql-admin" <pgsql-admin(at)postgresql(dot)org>
Subject: Will an outer join on two indexed fields use the indexes?
Date: 2002-04-08 21:24:18
Message-ID: NEBBLAAHGLEEPCGOBHDGOEKCELAA.nickf@ontko.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

Hi-

I've got another "plan" question- I'm trying to tune a query that uses an
outer join on two indexed (not unique) fields. I did an explain on it & was
surprised to find that the index wasn't used:

monroe=# explain select * from
monroe-# (charge left outer join criminal_disposition on
monroe(# (charge.charge_id = criminal_disposition.charge_id));
NOTICE: QUERY PLAN:

Hash Join (cost=260.68..21110.40 rows=147101 width=360)
-> Seq Scan on charge (cost=0.00..4883.01 rows=147101 width=252)
-> Hash (cost=150.94..150.94 rows=5894 width=108)
-> Seq Scan on criminal_disposition (cost=0.00..150.94 rows=5894
width=108)

My question is- Does the fact that this is an outer join cause this, or is
soem other factor involved? If it is the outer join, is there a different
way to join these which will be more efficient?

Thanks!

-Nick

--------------------------------------------------------------------------
Nick Fankhauser nickf(at)ontko(dot)com Phone 1.765.935.4283 Fax 1.765.962.9788
Ray Ontko & Co. Software Consulting Services http://www.ontko.com/

Responses

Browse pgsql-admin by date

  From Date Subject
Next Message Tom Lane 2002-04-08 21:45:37 Re: Will an outer join on two indexed fields use the indexes?
Previous Message Nick Fankhauser 2002-04-08 19:27:19 Re: New User - options and other "get going" questions.