Hi Shawn, Lucio,
> SELECT STRAIGHT_JOIN ....
> FROM ...
> LEFT JOIN ...
> WHERE ...
> ...
Just to correct a point here... if a query uses only LEFT JOIN or RIGHT
JOIN, the join order is fixed by the query's order itself, so using
STRAIGHT_JOIN should have no effect whatsoever. Equally important,
since the join order is fixed when you use LEFT JOIN, you *must* list
the joins in the correct order when writing the query, otherwise you
will see very poor performance.
MySQL's optimizer cannot reorder the joins because it has the potential
to change the result of the query.
Regards,
Jeremy
--
high performance mysql consulting
www.provenscaling.com