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

Поиск
Список
Период
Сортировка
От Nick Fankhauser
Тема Will an outer join on two indexed fields use the indexes?
Дата
Msg-id NEBBLAAHGLEEPCGOBHDGOEKCELAA.nickf@ontko.com
обсуждение исходный текст
Ответы Re: Will an outer join on two indexed fields use the indexes?
Список 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@ontko.com  Phone 1.765.935.4283  Fax 1.765.962.9788
Ray Ontko & Co.     Software Consulting Services     http://www.ontko.com/


В списке pgsql-admin по дате отправления:

Предыдущее
От: "Nick Fankhauser"
Дата:
Сообщение: Re: New User - options and other "get going" questions.
Следующее
От: Tom Lane
Дата:
Сообщение: Re: Will an outer join on two indexed fields use the indexes?