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
(JOIN
ing
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 storage engine 1.1 for MySQL 5.5, generated on 2010-04-13 (revision: 19994) .