SHOW OPEN TABLES [{FROM | IN} db_name]
[LIKE 'pattern' | WHERE expr]
SHOW OPEN TABLES
は、現在テーブルキャッシュ内で開いている TEMPORARY
以外のテーブルを一覧表示します。セクション8.4.3.1「MySQL でのテーブルのオープンとクローズの方法」を参照してください。FROM
句 (存在する場合) は、表示されるテーブルを db_name
データベース内に存在するテーブルに制限します。LIKE
句 (存在する場合) は、どのテーブル名と照合するかを示します。セクション21.32「SHOW ステートメントの拡張」で説明されているように、WHERE
句を指定すると、より一般的な条件を使用して行を選択できます。
SHOW OPEN TABLES
の出力には、次のカラムがあります。
-
Database
このテーブルを含むデータベース。
-
Table
テーブル名。
-
In_use
このテーブルのために存在するテーブルロックまたはロック要求の数。たとえば、あるクライアントが
LOCK TABLE t1 WRITE
を使用してテーブルに対するロックを取得した場合、In_use
は 1 になります。このテーブルがロックされたままになっている間に別のクライアントがLOCK TABLE t1 WRITE
を発行した場合、このクライアントはロックを待機してブロックされますが、このロック要求がIn_use
を 2 にします。このカウントが 0 の場合、このテーブルは開いていますが、現在使用されていません。In_use
はまた、HANDLER ... OPEN
ステートメントによって増加し、HANDLER ... CLOSE
ステートメントによって減少します。 -
Name_locked
テーブル名がロックされているかどうか。名前のロックは、テーブルの削除や名前の変更などの操作に使用されます。
テーブルに対する権限を持っていない場合、そのテーブルは SHOW OPEN TABLES
の出力に表示されません。