文档首页
MySQL 9.0 参考手册
相关文档 下载此手册

MySQL 9.0 参考手册  /  ...  /  InnoDB 事务和锁定信息的持久性和一致性

17.15.2.3 InnoDB 事务和锁定信息的持久性和一致性

事务和锁定表(INFORMATION_SCHEMA INNODB_TRX 表、性能架构 data_locksdata_lock_waits 表)公开的数据是快速变化数据的快照。这与用户表不同,用户表中的数据只有在应用程序发起的更新发生时才会改变。底层数据是内部系统管理数据,并且可以非常快地改变

  • INNODB_TRXdata_locksdata_lock_waits 表中的数据可能不一致。

    data_locksdata_lock_waits 表公开 InnoDB 存储引擎的实时数据,以提供有关 INNODB_TRX 表中事务的锁定信息。从锁定表检索到的数据在执行 SELECT 时存在,但在客户端使用查询结果时可能已经消失或更改。

    data_locksdata_lock_waits 联接可以显示 data_lock_waits 中的行,这些行标识 data_locks 中不再存在或尚未存在的父行。

  • 事务和锁定表中的数据可能与 INFORMATION_SCHEMA PROCESSLIST 表或性能架构 threads 表中的数据不一致。

    例如,在比较 InnoDB 事务和锁定表中的数据与 PROCESSLIST 表中的数据时,应格外小心。即使发出单个 SELECT(例如,联接 INNODB_TRXPROCESSLIST),这些表的内容通常也不一致。INNODB_TRX 可能引用 PROCESSLIST 中不存在的行,或者事务在 INNODB_TRX.TRX_QUERY 中显示的当前执行的 SQL 查询可能与 PROCESSLIST.INFO 中的查询不同。