mysql查看锁表情况

mysql> show status like 'Table%';

+----------------------------+----------+

| Variable_name        | Value |

+----------------------------+----------+

| Table_locks_immediate | 105         |

| Table_locks_waited   | 3           |

+----------------------------+----------+

 

Table_locks_immediate  指的是能够立即获得表级锁的次数

Table_locks_waited  指的是不能立即获取表级锁而需要等待的次数

 

查看正在被锁定的的表

show OPEN TABLES where In_use > 0;

 

转载于:https://www.cnblogs.com/itfenqing/p/6128902.html

### 查看导致的事务 为了查看导致的事务,在 MySQL 中可以利用 `performance_schema` 和 `information_schema` 数据库中的视图来获取这些信息。 对于 InnoDB 存储引擎,可以通过查询 `INFORMATION_SCHEMA.INNODB_LOCKS` 以及关联的 `INFORMATION_SCHEMA.INNODB_LOCK_WAITS` 来识别哪些事务正在等待其他事务释放[^2]。这有助于诊断因定而引起的阻塞情: ```sql SELECT r.trx_id waiting_trx_id, r.trx_mysql_thread_id waiting_pid, b.trx_id blocking_trx_id, b.trx_mysql_thread_id blocking_pid, CONCAT('KILL QUERY ', b.trx_mysql_thread_id) AS sql_kill_blocking_query, CONCAT('KILL CONNECTION ', b.trx_mysql_thread_id) AS sql_kill_blocking_connection FROM INFORMATION_SCHEMA.INNODB_LOCK_Waits w JOIN INFORMATION_SCHEMA.INNODB_TRX b ON b.trx_id = w.blocking_trx_id JOIN INFORMATION_SCHEMA.INNODB_TRX r ON r.trx_id = w.requesting_trx_id; ``` 另外,也可以通过监控 `SHOW ENGINE INNODB STATUS\G` 命令的结果来获得当前活动事务的信息及其持有的资源状。此命令提供了关于最近发生的死事件以及其他内部状态的数据,可以帮助进一步分析争用的情。 值得注意的是,当使用二进制日志功能时,某些操作如 `CREATE...SELECT` 或者 `INSERT...SELECT` 可能会因为复制安全性的原因放置读取于被选择数据源所在的格上,从而影响并发插入性能[^3]。不过这种情通常不会直接反映在上述提到的监视工具里。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值