MySQL 8.0 リファレンスマニュアル


13.7.7.24 SHOW OPEN TABLES ステートメント

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 の出力に表示されません。


関連キーワード:  ステートメント, CREATE, TABLE, テーブル, DROP, サブクエリー, FUNCTION, TABLES, SLAVE, ロック