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
The INFORMATION_SCHEMA 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 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.

User Comments
Add your own comment.