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:
-
QUERY
The text of the traced statement.
-
TRACE
The trace, in
JSON
format. -
MISSING_BYTES_BEYOND_MAX_MEM_SIZE
Each remembered trace is a string that is extended as optimization progresses and appends data to it. The
optimizer_trace_max_mem_size
variable 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_SIZE
column shows the number of bytes missing from the trace. -
INSUFFICIENT_PRIVILEGES
If a traced query uses views or stored routines that have
SQL SECURITY
with 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_PRIVILEGES
has a value of 1. Otherwise, the value is 0.