I wrote an introductory article discussing how to index queries for joins (for MySQL). The article covers basic theory on how MySQL joins tables and how to identify what needs to be indexed for a join. It's been hit more than any other article on the site by far so maybe that means something. I thought I'd share it here too. Due to its length and extensive formatting I won't re-post it here, but the original article is at http://hackmysql.com/case4
or if you Google for "How To Index For Joins" just about every result points to the article. -- Any feedback on the article is welcomed.