MYSQL- 查看表的状态信息语句(二十四)
13.7.5.24 SHOW OPEN TABLES 语句
SHOW OPEN TABLES
[{FROM | IN} db_name]
[LIKE 'pattern' | WHERE expr]
SHOW OPEN TABLES
列出了当前在表缓存中 打开的非表 。参见第 8.4.3.1 节“ MySQL 如何打开和关闭 table”。该子句(如果存在)将显示的表限制为db_name数据库中存在的表。LIKE子句(如果存在)指示要匹配的表名。该子句可以使用更一般的条件来选择行,如第24.8节“SHOW语句的扩展”所述。TEMPORARY FROM WHERE
SHOW OPEN TABLES
输出具有以下 列:
-
Database
包含表的数据库。
-
Table
表名。
-
In_use
表的表锁或锁请求数。例如,如果一个客户端使用获取表的锁,则为1。如果另一个客户端在表保持锁定状态时发出问题,则客户端会阻止等待锁定,但锁定请求会导致为2。如果计数为零,则表已打开,但当前未被使用。
-
Name_locked
表名是否被锁定。名称锁定用于 删除或重命名表等操作。
如果您没有表的权限,则它不会显示在 SHOW OPEN TABLES
的输出。
mysql> SHOW OPEN TABLES LIKE 'city' \G
*************************** 1. row ***************************
Database: world
Table: city
In_use: 0
Name_locked: 0
1 row in set (0.00 sec)
mysql> SHOW OPEN TABLES FROM world LIKE 'city' \G
*************************** 1. row ***************************
Database: world
Table: city
In_use: 0
Name_locked: 0
1 row in set (0.00 sec)
mysql>
mysql> SHOW OPEN TABLES FROM world ;
+----------+-----------------+--------+-------------+
| Database | Table | In_use | Name_locked |
+----------+-----------------+--------+-------------+
| world | city_view | 0 | 0 |
| world | countrylanguage | 0 | 0 |
| world | city | 0 | 0 |
| world | country | 0 | 0 |
+----------+-----------------+--------+-------------+
4 rows in set (0.00 sec)
## 读锁
mysql>LOCK TABLEs world.city read;
mysql> SHOW OPEN TABLES FROM world ;
+----------+-----------------+--------+-------------+
| Database | Table | In_use | Name_locked |
+----------+-----------------+--------+-------------+
| world | city_view | 0 | 0 |
| world | countrylanguage | 0 | 0 |
| world | city | 1 | 0 |
| world | country | 0 | 0 |
+----------+-----------------+--------+-------------+
4 rows in set (0.00 sec)
## 解锁
mysql>UNLOCK TABLES;