MySQL uses a cost based optimiser 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 section 5.2.1 EXPLAIN
Syntax (Get Information About a SELECT
).
ANALYZE TABLE
. See section 4.5.2 ANALYZE TABLE
Syntax.
USE INDEX
, FORCE INDEX
and IGNORE INDEX
. See section 6.4.1 SELECT
Syntax.
STRAIGHT JOIN
. See section 6.4.1 SELECT
Syntax.
SHOW VARIABLES
.