### 26.3.19 The INFORMATION\_SCHEMA OPTIMIZER\_TRACE Table

[]()

 The [`OPTIMIZER_TRACE`](information-schema-optimizer-trace-table.html) table provides information produced by the optimizer tracing capability for traced statements. To enable tracking, use the [`optimizer_trace`](server-system-variables.html#sysvar_optimizer_trace) system variable. For details, see [MySQL Internals: Tracing the Optimizer](https://dev.mysql.com/doc/internals/en/optimizer-tracing.html).

 The [`OPTIMIZER_TRACE`](information-schema-optimizer-trace-table.html) 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`](server-system-variables.html#sysvar_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 the `MISSING_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 of `DEFINER`, 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 and `INSUFFICIENT_PRIVILEGES` has a value of 1. Otherwise, the value is 0.

