1、列出当前在表缓存中打开的非临时表。 SHOW OPEN TABLES语法:
代码语言:javascript复制SHOW OPEN TABLES
[{FROM | IN} db_name]
[LIKE 'pattern' | WHERE expr]
代码语言:javascript复制mysql> show open tables from test like 'users';
---------- ------- -------- ------------- | Database | Table | In_use | Name_locked |
---------- ------- -------- -------------
| test | users | 0 | 0 | ---------- ------- -------- ------------- 1 row in set (0.00 sec)
SHOW OPEN TABLES
显示打开的表输出列解释:
- Database: 数据库名称
- Table: 表名
- In_use: 表锁或锁请求的数量在表中。例如,如果一个客户机使用锁表t1写的表获得一个锁,那么In_use将是1。如果另一个客户端问题锁表t1写,而表仍然锁定,客户端将阻塞等待锁,但是锁请求导致In_use为2。如果计数为零,表是打开的,但目前没有使用。
- Name_locked: 是否锁定表名。名称锁定用于操作,例如删除或重命名表。
2、列出锁定的表
代码语言:javascript复制show open tables WHERE In_use > 0
例如检查tb_employees
表是否被锁定:
show open tables WHERE Table LIKE 'tb_employees' AND In_use > 0
参考:https://dev.mysql.com/doc/refman/5.6/en/show-open-tables.html