首页 > 智能硬件 > 正文内容

MySQL 查询锁表的sql

时间:2024-10-09 18:02:01

查询mysql 表锁的sql 

在MySQL中,可以通过以下SQL语句来查看表锁情况:

1. 查看当前有无锁等待:`show status like 'innodb_row_lock%';`

2. 查看哪个事务在等待(被阻塞了):`select * from information_schema.INNODB_TRX WHERE trx_state='LOCK WAIT';`

3. 查询该事务被哪个事务给阻塞了:`SELECT * FROM performance_schema.threads WHERE processlist_id=970;`

4. 根据trx_id,从innodb_trx表可查询到trx_mysql_thread_id线程id为970:`select * from information_schema.innodb_trx where trx_id=3933;`

5. 根据线程id,查询表拿到thread_id为995:`SELECT * FROM performance_schema.threads WHERE processlist_id=970;`

6. 根据thread_id,查询当前锁源的sql:`SELECT * FROM performance_schema.events_statements_current WHERE thread_id=995;`

另外,还可以查看正在执行的线程信息:`show full processlist;` 。

版权声明:转载此文是出于传递更多信息之目的。若有来源标注错误或侵犯了您的合法权益, 请作者持权属证明与本网联系,我们将及时更正、删除,谢谢您的支持与理解。
标签:智能硬件

科技之家 广州小漏斗信息技术有限公司 版权所有 提供支持 粤ICP备20006251号