MySQL 9.0 发行说明
事务和锁定表(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中的查询不同。