有没有办法通过MySQL查询获取锁定表?我有一个C#线程应用程序正在运行,并且有很多表被锁定在应用程序中。
我需要查看锁定的表并分析可能锁定它的代码。
答案 0 :(得分:46)
使用:
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减少......关闭。