深圳全飞鸿

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 676|回复: 1
打印 上一主题 下一主题

关于mysql的Table_locks

[复制链接]

800

主题

1379

帖子

7725

积分

版主

Rank: 7Rank: 7Rank: 7

积分
7725
跳转到指定楼层
楼主
发表于 2020-10-5 20:13:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
关于mysql的Table_locks

SHOW STATUS LIKE 'Table_locks%';


回复

使用道具 举报

800

主题

1379

帖子

7725

积分

版主

Rank: 7Rank: 7Rank: 7

积分
7725
沙发
 楼主| 发表于 2021-9-11 18:50:02 | 只看该作者
MYSQL 解锁与锁表

查询表级锁争用情况

可以通过检查table_locks_waited和table_locks_immediate状态变量来分析系统上的表锁定争夺:
  1. mysql> show status like 'table%';
  2. +-----------------------+-------+
  3. | Variable_name         | Value |
  4. +-----------------------+-------+
  5. | Table_locks_immediate | 2979  |
  6. | Table_locks_waited    | 0     |
  7. +-----------------------+-------+
  8. 2 rows in set (0.00 sec))
复制代码

如果Table_locks_waited的值比较高,则说明存在着较严重的表级锁争用情况。

获取InnoDB行锁争用情况   

可以通过检查InnoDB_row_lock状态变量来分析系统上的行锁的争夺情况:  
  1. mysql> show status like 'innodb_row_lock%';
  2. +-------------------------------+-------+
  3. | Variable_name                 | Value |
  4. +-------------------------------+-------+
  5. | InnoDB_row_lock_current_waits | 0     |
  6. | InnoDB_row_lock_time          | 0     |
  7. | InnoDB_row_lock_time_avg      | 0     |
  8. | InnoDB_row_lock_time_max      | 0     |
  9. | InnoDB_row_lock_waits         | 0     |
  10. +-------------------------------+-------+
  11. 5 rows in set (0.01 sec)
复制代码


如果发现锁争用比较严重,如InnoDB_row_lock_waits和InnoDB_row_lock_time_avg的值比较高

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|nagomes  

GMT+8, 2025-6-29 07:02 , Processed in 0.086780 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表