MySQL 8.0 リファレンスマニュアル MySQL NDB Cluster 8.0 を含む

このページは機械翻訳したものです。

26.38 INFORMATION_SCHEMA TABLES テーブル

TABLES テーブルは、データベース内のテーブルに関する情報を提供します。

テーブル統計を表す TABLES のカラムには、キャッシュされた値が保持されます。 information_schema_stats_expiry システム変数は、キャッシュされたテーブルの統計が期限切れになるまでの期間を定義します。 デフォルトは 86400 秒 (24 時間) です。 キャッシュされた統計がない場合、または統計が期限切れになっている場合は、テーブル統計カラムのクエリー時にストレージエンジンから統計が取得されます。 特定のテーブルのキャッシュされた値をいつでも更新するには、ANALYZE TABLE を使用します。 常に最新の統計をストレージエンジンから直接取得するには、information_schema_stats_expiry0 に設定します。 詳細は、セクション8.2.3「INFORMATION_SCHEMA クエリーの最適化」を参照してください。

注記

innodb_read_only システム変数が有効になっている場合、InnoDB を使用するデータディクショナリの統計テーブルを更新できないため、ANALYZE TABLE が失敗することがあります。 キー分散を更新する ANALYZE TABLE 操作では、操作によってテーブル自体が更新された場合でも (MyISAM テーブルの場合など)、障害が発生する可能性があります。 更新された分散統計を取得するには、information_schema_stats_expiry=0 を設定します。

TABLES テーブルには、次のカラムがあります:

メモ

テーブル情報は、SHOW TABLE STATUS ステートメントおよび SHOW TABLES ステートメントからも入手できます。 セクション13.7.7.38「SHOW TABLE STATUS ステートメント」およびセクション13.7.7.39「SHOW TABLES ステートメント」を参照してください。 次のステートメントは同等です。

SELECT
    TABLE_NAME, ENGINE, VERSION, ROW_FORMAT, TABLE_ROWS, AVG_ROW_LENGTH,
    DATA_LENGTH, MAX_DATA_LENGTH, INDEX_LENGTH, DATA_FREE, AUTO_INCREMENT,
    CREATE_TIME, UPDATE_TIME, CHECK_TIME, TABLE_COLLATION, CHECKSUM,
    CREATE_OPTIONS, TABLE_COMMENT
  FROM INFORMATION_SCHEMA.TABLES
  WHERE table_schema = 'db_name'
  [AND table_name LIKE 'wild']

SHOW TABLE STATUS
  FROM db_name
  [LIKE 'wild']

次のステートメントは同等です。

SELECT
  TABLE_NAME, TABLE_TYPE
  FROM INFORMATION_SCHEMA.TABLES
  WHERE table_schema = 'db_name'
  [AND table_name LIKE 'wild']

SHOW FULL TABLES
  FROM db_name
  [LIKE 'wild']