MySQL 8.4 发行说明
事务和锁定表(INFORMATION_SCHEMA INNODB_TRX 表,性能模式 data_locks 和 data_lock_waits 表)所公开的数据,只是对快速变化数据的快照。这与用户表不同,用户表中的数据只有在应用程序启动的更新时才会更改。底层数据是内部系统管理的数据,并且可能非常快地更改
INNODB_TRX、data_locks和data_lock_waits表之间的数据可能不一致。data_locks和data_lock_waits表公开来自InnoDB存储引擎的实时数据,以提供有关INNODB_TRX表中事务的锁信息。从锁表检索的数据在执行SELECT时存在,但在客户端使用查询结果时可能已消失或发生更改。将
data_locks与data_lock_waits联接,可以显示data_lock_waits中的行,这些行标识data_locks中不再存在或尚未存在的父行。事务和锁定表中的数据可能与
INFORMATION_SCHEMAPROCESSLIST表或性能模式threads表中的数据不一致。例如,在比较
InnoDB事务和锁定表中的数据与PROCESSLIST表中的数据时,应格外小心。即使您发出单个SELECT(例如,将INNODB_TRX和PROCESSLIST联接),这些表的内容通常并不一致。INNODB_TRX可能引用PROCESSLIST中不存在的行,或者事务在INNODB_TRX.TRX_QUERY中显示的当前执行的 SQL 查询可能与PROCESSLIST.INFO中的查询不同。