To obtain the execution plan for an explainable statement executing in a named connection, use this statement:
options] FOR CONNECTION
For example, if you are running a statement in one session that
is taking a long time to complete, using
EXPLAIN FOR CONNECTION in another
session may yield useful information about the cause of the
delay and help you optimize the statement.
connection_id is the connection
identifier, as obtained from the
PROCESSLIST table or the
SHOW PROCESSLIST statement. If
you have the
you can specify the identifier for any connection. Otherwise,
you can specify the identifier only for your own connections.
If the named connection is not executing a statement, the result
is empty. Otherwise,
EXPLAIN FOR CONNECTION
applies only if the statement being executed in the named
connection is explainable. This includes
EXPLAIN FOR CONNECTION does not work for
prepared statements, even prepared statements of those types.)
If the named connection is executing an explainable statement,
the output is what you would obtain by using
EXPLAIN on the statement itself.
If the named connection is executing a statement that is not
explainable, an error occurs. For example, you cannot name the
connection identifier for your current session because
EXPLAIN is not explainable:
SELECT CONNECTION_ID();+-----------------+ | CONNECTION_ID() | +-----------------+ | 373 | +-----------------+ 1 row in set (0.00 sec) mysql>
EXPLAIN FOR CONNECTION 373;ERROR 1889 (HY000): EXPLAIN FOR CONNECTION command is supported only for SELECT/UPDATE/INSERT/DELETE/REPLACE
Com_explain_other status variable
indicates the number of
CONNECTION statements executed.