The OPTIMIZER_TRACE table provides information produced by the optimizer tracing capability for traced statements. To enable tracking, use the optimizer_trace system variable. For details, see MySQL Internals: Tracing the Optimizer.
The OPTIMIZER_TRACE table has these columns:
-
QUERYThe text of the traced statement.
-
TRACEThe trace, in
JSONformat. -
MISSING_BYTES_BEYOND_MAX_MEM_SIZEEach remembered trace is a string that is extended as optimization progresses and appends data to it. The
optimizer_trace_max_mem_sizevariable sets a limit on the total amount of memory used by all currently remembered traces. If this limit is reached, the current trace is not extended (and thus is incomplete), and theMISSING_BYTES_BEYOND_MAX_MEM_SIZEcolumn shows the number of bytes missing from the trace. -
INSUFFICIENT_PRIVILEGESIf a traced query uses views or stored routines that have
SQL SECURITYwith a value ofDEFINER, it may be that a user other than the definer is denied from seeing the trace of the query. In that case, the trace is shown as empty andINSUFFICIENT_PRIVILEGEShas a value of 1. Otherwise, the value is 0.