SHOW OPEN TABLES
[{FROM | IN} db_name]
[LIKE 'pattern' | WHERE expr]
SHOW OPEN TABLES
は、現在テーブルキャッシュ内で開いている TEMPORARY
以外のテーブルを一覧表示します。 セクション8.4.3.1「MySQL でのテーブルのオープンとクローズの方法」を参照してください。 FROM
句 (存在する場合) は、表示されるテーブルを db_name
データベース内に存在するテーブルに制限します。 LIKE
句 (存在する場合) は、どのテーブル名と照合するかを示します。 セクション26.55「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
の出力に表示されません。