Documentation Home
MySQL 8.4 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 39.8Mb
PDF (A4) - 39.9Mb
Man Pages (TGZ) - 257.9Kb
Man Pages (Zip) - 364.9Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 8.4 Reference Manual  /  ...  /  Persistence and Consistency of InnoDB Transaction and Locking Information

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

事务和锁定表(INFORMATION_SCHEMA INNODB_TRX 表、性能_schemadata_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 表或性能chema threads 表不一致。

    例如,当比较 InnoDB 事务和锁定表中的数据与 PROCESSLIST 表时,需要小心。即使您执行单个 SELECT 语句(例如,连接 INNODB_TRXPROCESSLIST),这些表的内容通常不一致。可能的情况是,INNODB_TRX 表中引用了不在 PROCESSLIST 表中的行,或者当前执行的 SQL 查询在 INNODB_TRX.TRX_QUERY 中不同于 PROCESSLIST.INFO 中的查询。