MySQL 5.7 Release Notes
A trace follows the actual execution path very closely; for each
join, there is a join preparation object, a join optimization
object, and a join execution object. Query transformations
(IN
to EXISTS
, outer join to
inner join, and so on), simplifications (elimination of clauses),
and equality propagation are shown in subobjects. Calls to the
range optimizer, cost evaluations, reasons why an access path is
chosen over another one, or why a sorting method is chosen over
another one, are shown as well.