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.