Table of Contents
MySQL uses a cost based optimizer to find out the best way to resolve a query. In many cases MySQL can calculate the best possible query plan but in some cases MySQL doesn't have enough information about the data at hand and have to do some 'educated' guesses about the data.
This manual section is intended for the cases when MySQL doesn't get it right.
The tools one has available to help MySQL do the 'right' things are:
EXPLAIN. See EXPLAIN.
ANALYZE TABLE. See ANALYZE TABLE.
USE INDEX, FORCE INDEX and IGNORE INDEX. See SELECT.
Global and table level STRAIGHT JOIN. See SELECT.
Setting thread specific variables. See SHOW VARIABLES.