Thread: index usage in joins q'n

index usage in joins q'n

From
rihad
Date:
http://www.postgresql.org/docs/8.2/interactive/indexes-intro.html
states that "Indexes can moreover be used in join searches. Thus, an
index defined on a column that is part of a join condition can
significantly speed up queries with joins."

Does this mean that a condition like "WHERE ... [AND] lhs.a=rhs.b [AND]
..." where rhs.b is already unique-indexed, also requires (non-unique)
index on lhs.a for maximal join speed? Otherwise why would they want to
say that?

Thanks.

Re: index usage in joins q'n

From
Martijn van Oosterhout
Date:
On Sat, Nov 03, 2007 at 11:42:39AM +0400, rihad wrote:
> Does this mean that a condition like "WHERE ... [AND] lhs.a=rhs.b [AND]
> ..." where rhs.b is already unique-indexed, also requires (non-unique)
> index on lhs.a for maximal join speed? Otherwise why would they want to
> say that?

No, as long as one of the two columns is indexed it can help. An index
on both might help if you need a lot of rows but it's a bit hard to
construct a situation where it'd be obvious.

Have a nice day,
--
Martijn van Oosterhout   <kleptog@svana.org>   http://svana.org/kleptog/
> Those who make peaceful revolution impossible will make violent revolution inevitable.
>  -- John F Kennedy

Attachment