A lot has happened in MySQL 5.6 for queries joining many tables.
For the most common use cases we have drastically reduced the
cost of finding the execution plan. We have also improved the
heuristics and removed bugs so that the final plan is often
better than it used to be. Read on if you are one of those people
who do 15 way joins!
Finding a query execution plan
First some background. You can skip this part if you know how MySQL picks the table join order in 5.5.
When presented with a query, MySQL will try to find the best order to join tables by employing a greedy search algorithm. The outcome is what …