As just described, while the transaction and locking data is
correct and consistent when these
INFORMATION_SCHEMA tables are populated, the
underlying data changes so fast that similar glimpses at other,
similarly fast-changing data, may not be in sync. Thus, you
should be careful in comparing the data in the InnoDB
transaction and locking tables with that in the
MySQL table
PROCESSLIST. 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 be different from
the one in PROCESSLIST.INFO. 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.
This is the User’s Guide for the InnoDB storage engine 1.1 for MySQL 5.5, generated on 2012-05-23 (revision: 30566) .
