SHOW OPEN TABLES [{FROM | IN}db_name
] [LIKE 'pattern
' | WHEREexpr
]
SHOW OPEN TABLES
lists the non-TEMPORARY
tables that are currently open in the table cache. See Section 8.4.3.1, “How MySQL Opens and Closes Tables”. The FROM
clause, if present, restricts the tables shown to those present in the db_name
database. The LIKE
clause, if present, indicates which table names to match. The WHERE
clause can be given to select rows using more general conditions, as discussed in Section 26.8, “Extensions to SHOW Statements”.
SHOW OPEN TABLES
output has these columns:
Database
The database containing the table.
Table
The table name.
In_use
The number of table locks or lock requests there are for the table. For example, if one client acquires a lock for a table using LOCK TABLE t1 WRITE
, In_use
is 1. If another client issues LOCK TABLE t1 WRITE
while the table remains locked, the client blocks, waiting for the lock, but the lock request causes In_use
to be 2. If the count is zero, the table is open but not currently being used. In_use
is also increased by the HANDLER ... OPEN
statement and decreased by HANDLER ... CLOSE
.
Name_locked
Whether the table name is locked. Name locking is used for operations such as dropping or renaming tables.
If you have no privileges for a table, it does not show up in the output from SHOW OPEN TABLES
.