繁体   English   中英

在mysql查询中获取锁定表

[英]Get locked tables in mysql query

有没有办法通过MySQL查询来获取锁定的表? 我有一个C#线程应用程序正在运行,并且有很多表被锁定在应用程序中。

我需要查看锁定的表并分析可能锁定它的代码。

使用:

SHOW OPEN TABLES

检查列In_use是否大于0.在这种情况下,表将被锁定。

例子

  • 锁定表列表:

    show open tables WHERE In_use > 0

  • 检查表tb_employees是否被锁定:

    show open tables WHERE Table LIKE 'tb_employees' AND In_use > 0

官方文档

In_use

表的锁表或锁请求的数量。 例如,如果一个客户端使用LOCK TABLE t1 WRITE获取表的锁,则In_use将为1.如果另一个客户端在表保持锁定时发出LOCK TABLE t1 WRITE,则客户端将阻止等待锁,但锁定请求导致In_use为2.如果计数为零,则表已打开但当前未使用。 In_use也因HANDLER ... OPEN语句而增加,并由HANDLER ... CLOSE减少。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM