SHOW TABLE STATUS [{FROM | IN}db_name
] [LIKE 'pattern
' | WHEREexpr
]
SHOW TABLE
STATUS
は SHOW
TABLES
のように機能しますが、TEMPORARY
以外の各テーブルに関する多くの情報を提供します。また、このリストは、mysqlshow
--status db_name
コマンドを使用して取得することもできます。LIKE
節 (存在する場合)
は、どのテーブル名と照合するかを示します。Extensions to SHOW
Statements
で説明されているように、WHERE
節を指定すると、より一般的な条件を使用して行を選択できます。
このステートメントもまたビューの情報を表示します。
SHOW TABLE
STATUS
は次のフィールドを返します。
名前
テーブル名。
Engine
テーブルのストレージエンジン。Storage Engines を参照してください。
Version
テーブルの .frm
file. のバージョン番号。
Row_format
行のストレージフォーマット
(Fixed
、Dynamic
、Compressed
、Redundant
、Compact
)InnoDB
テーブルのフォーマットは
Redundant
か
Compact
としてレポートされます。
Rows
ディスク読み込み数MyISAM
などの一部のストレージエンジンは、正確な数を格納します。InnoDB
のような別のストレージエンジンにとっては、この値はおおよそのものであり、実際の値とは
40 から
50%くらい異なります。そのような場合は、正確なカウントを得るために
SELECT COUNT(*)
を利用してください。
Rows
値は
INFORMATION_SCHEMA
データベース内のテーブルには
NULL
です。
Avg_row_length
平均行長
Data_length
データファイルの長さ
Max_data_length
ネットワーク送信のドロップ数. 使用されているデータポインタサイズが与えられた場合、これは、このテーブルに格納できるデータの総バイト数です。
Index_length
インデックスファイルの長さ
Data_free
割り当てられたけれど使用されていないバイト数
MySQL 5.1.24 からは、この情報は
InnoDB
テーブルに対しても表示されます
(以前は、Comment
値に含まれていました)。InnoDB
テーブルは、このテーブルが属するテーブル領域の空き領域を報告します。共有テーブル領域の中にあるテーブルには、これが共有テーブル領域の空きスペースです。もし複数のテーブル領域を利用していて、そのテーブルが専用のテーブル領域を所有していたら、そのフリースペースはそのテーブルだけのものです。空き領域とは、完全に未使用の
1MB
エクステントの数から、安全上のマージンを引いたものを示します。空き領域が
0
と表示されていても、新しいエクステントを割り当てる必要がなければ、行を挿入できる可能性があります。
パーティション化されたテーブルの場合、この値は概算にすぎず、必ずしも正しくないことがあります。次の例に示すように、その場合、この情報を取得するためのより正確な方法は
INFORMATION_SCHEMA.PARTITIONS
テーブルへのクエリーです。
SELECT SUM(DATA_FREE) FROM INFORMATION_SCHEMA.PARTITIONS WHERE TABLE_SCHEMA = 'mydb' AND TABLE_NAME = 'mytable';
詳細は The INFORMATION_SCHEMA PARTITIONS
Table
をご覧ください。
Auto_increment
次の AUTO_INCREMENT
値。
Create_time
テーブルが作成されたとき。
Update_time
データファイルが最後に更新されたとき。いくつかのストレージエンジンに対しては、この値は
NULL
です。たとえば、InnoDB
はそのテーブル領域内に複数のテーブルを格納し、データファイルタイムスタンプは適応しません。MyISAM
の場合は、データファイルのタイムスタンプが使用されます。ただし、Windows
ではタイムスタンプが更新によって更新されないため、この値は不正確です。
Check_time
テーブルが最後に確認されたとき。値が毎回
NULL
の場合、すべてのストレージエンジンはこの時更新しません。
Collation
テーブルのキャラクタセットと照合。
Checksum
ライブチェックサム値 (もしあれば)。
Create_options
CREATE
TABLE
と共に利用される特別オプション。CREATE
TABLE
が呼び出されたときに指定された元のオプションは保持されており、ここで報告されるオプションは、アクティブなテーブル設定やオプションとは異なる可能性があります。
Comment
テーブルを作成するときに利用されるコメント (またはなぜ MySQL がテーブル情報にアクセスできなかったのかに関する情報)。
MySQL 5.1.24
より前のバージョンでは、InnoDB
テーブルの空き領域はコメントで報告されます。5.1.24
の時点では、Data_free
カラムで報告されます。
MEMORY
テーブルに対して、Data_length
、Max_data_length
、そして
Index_length
値は割り当てられたメモリーの実際の量を概算します。割り当てアルゴリズムは、割り当て操作の数を減らすために、大量のメモリーを確保します。
NDBCLUSTER
テーブルの場合、このステートメントの出力は
Avg_row_length
および
Data_length
カラムの適切な値を表示します。ただし、BLOB
カラムが考慮されないという例外があります。MySQL
5.1.21 より前のバージョンでは、MySQL Cluster
レプリカの数は
number_of_replicas
として Comment
カラムに表示されました (Bug#11379)。
ビューに関しては、Name
がビュー名を指示し、Comment
が view
と言う事以外、SHOW TABLE
STATUS
に表示されるすべてのフィールドは
NULL
です。