[Mysql] mysql show innodb_locks详解


本文总阅读量

1、INFORMATION_SCHEMA INNODB_LOCKS 提供innodb事务去请求但没有获取到的锁信息和事务阻塞其他事务的锁信息。执行命令如下:

1
select * from information_schema.innodb_locks\G

2、innodb_locks各列参数详解:

1
2
3
4
5
6
7
8
9
10
lock_id:innodb唯一lock id。把他当做一个不透明的字符串。虽然lock_id当前包含trx_id,lock_id的数据格式在任何时间都肯能改变。不要写用于解析lock_id值得应用程序。
lock_trx_id:持有锁的事务id。查询事务信息,与innodb_trx表中trx_id列匹配。
lock_mode:锁请求。该值包括: S, X, IS, IX, GAP, AUTO_INC, and UNKNOWN。锁模式标识符可以组合用于识别特定的锁模式。查看更多信息,点击[此处]((https://dev.mysql.com/doc/refman/8.0/en/innodb-locking.html))
lock_type:锁类型。行锁为record,表锁为table。
lock_table:被锁的表名,或者包含锁记录的表名。
lock_index:lock_type为行锁时,该值为索引名,否则为空。
lock_space:lock_type为行锁时,该值为锁记录的表空间的id,否则为空。
lock_page:lock_type为行锁时,该值为锁记录页数量,否则为空。
lock_rec:lock_type为行锁时,页内锁记录的堆数,否则为空。
lock_data:与锁相关的数据。如果lock_type为行锁时,该值是锁记录的主键值,否则为空。这列包含锁定行的主键列的值,转化为一个有效的字符串,如果没有主键,lock_data是唯一innodb内部行id号。如果是键值或者范围大于索引的最大值会使用间隙锁,lock_data表示为supremum pseudo-record。当包含锁记录的页不在buffer pool内,innodb不去从磁盘获取页,为了避免不必要的磁盘操作,lock_data为空。
目录
  1. 1. 1、INFORMATION_SCHEMA INNODB_LOCKS 提供innodb事务去请求但没有获取到的锁信息和事务阻塞其他事务的锁信息。执行命令如下:
  2. 2. 2、innodb_locks各列参数详解:

Proudly powered by Hexo and Theme by Lap
本站访客数人次
© 2020 zeven0707's blog