24.32.14 INFORMATION_SCHEMA INNODB_LOCK_WAITStable
INNODB_LOCK_WAITStable 针对每个被阻止的InnoDB
事务包含一个或多个行,指示其已请求的锁以及正在阻止该请求的所有锁。
Note
自 MySQL 5.7.14 起不推荐使用此 table,并已在 MySQL 8.0 中删除。
INNODB_LOCK_WAITStable 具有以下列:
REQUESTING_TRX_ID
请求(阻止)Transaction 的 ID。
REQUESTED_LOCK_ID
事务正在 await 的锁的 ID。要获取有关锁的详细信息,请将此列与INNODB_LOCKStable 的LOCK_ID
列连接在一起。
BLOCKING_TRX_ID
阻止 Transaction 的 ID。
BLOCKING_LOCK_ID
事务持有的锁的 ID,阻止另一个事务 continue 进行。要获取有关锁的详细信息,请将此列与INNODB_LOCKStable 的LOCK_ID
列连接在一起。
Example
mysql> SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCK_WAITS\G
*************************** 1. row ***************************
requesting_trx_id: 3396
requested_lock_id: 3396:91:3:2
blocking_trx_id: 3395
blocking_lock_id: 3395:91:3:2
Notes
-
使用此 table 可帮助诊断在并发负载很大时发生的性能问题。其内容按照第 14.16.2.3 节“ InnoDB 事务和锁定信息的持久性和一致性”中的说明进行更新。
-
您必须具有PROCESS特权才能查询此 table。
-
使用
INFORMATION_SCHEMA
COLUMNStable 或SHOW COLUMNS语句查看有关此 table 列的其他信息,包括数据类型和默认值。 -
有关使用信息,请参阅第 14.16.2.1 节,“使用 InnoDB 事务和锁定信息”。