Possible Inconsistency with PROCESSLIST
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.