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 InnoDB Plugin 1.0.6 for MySQL 5.1, generated on March 4, 2010 (rev 673:680M).
