As just described, while the transaction and locking data is
correct and consistent when these
INFORMATION_SCHEMA tables are populated. For
example, the query in INNODB_TRX is
always consistent with the rest of
INNODB_TRX,
INNODB_LOCKS and
INNODB_LOCK_WAITS when the data
comes from the same snapshot. However, the underlying data
changes so fast that similar glimpses at other, similarly
fast-changing data, may not be in synchrony. Thus, you should be
careful in comparing the data in the InnoDB transaction and
locking tables with that in the
PROCESSLIST table. The data from
the PROCESSLIST table does not come
from the same snapshot as the data about locking and
transactions. Even if you issue a single
SELECT (joining
INNODB_TRX and
PROCESSLIST, for example), the
content of those tables is generally not consistent.
INNODB_TRX may reference rows that
are not present in PROCESSLIST or
the currently executing SQL query of a transaction, shown in
INNODB_TRX.TRX_QUERY may differ from the one
in PROCESSLIST.INFO.

User Comments
Add your own comment.