Documentation Home
MySQL 8.0 リファレンスマニュアル
Download this Manual
PDF (US Ltr) - 36.1Mb
PDF (A4) - 36.2Mb


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

26.51.27 INFORMATION_SCHEMA INNODB_TABLESTATS ビュー

INNODB_TABLESTATS テーブルには、InnoDB テーブルに関する低レベルのステータス情報のビューが表示されます。 このデータは、InnoDB テーブルのクエリー時に使用するインデックスを計算するために MySQL オプティマイザによって使用されます。 この情報は、ディスクに格納されているデータではなく、インメモリーデータ構造から導出されます。 対応する内部 InnoDB システムテーブルはありません。

InnoDB テーブルは、前回のサーバー再起動以降にオープンされ、テーブルキャッシュからエージアウトされていない場合に、このビューに表示されます。 永続的統計を利用できるテーブルは、このビューに常に表示されます。

テーブル統計は、インデックス付けされたカラムを変更する DELETE または UPDATE 操作に対してのみ更新されます。 インデックス付けされていないカラムのみを変更する操作では、統計は更新されません。

ANALYZE TABLE によってテーブル統計がクリアされ、STATS_INITIALIZED カラムが Uninitialized に設定されます。 統計は、次回テーブルにアクセスしたときに再度収集されます。

関連する使用法と使用例については、セクション15.15.3「InnoDB INFORMATION_SCHEMA スキーマオブジェクトテーブル」を参照してください。

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

  • TABLE_ID

    統計が使用可能なテーブルを表す識別子 (INNODB_TABLES.TABLE_ID と同じ値)。

  • NAME

    テーブルの名前。INNODB_TABLES.NAME と同じ値です。

  • STATS_INITIALIZED

    値は、統計がすでに収集されている場合は Initialized で、収集されていない場合は Uninitialized です。

  • NUM_ROWS

    現在の推定されるテーブル内の行数。 それぞれの DML 操作後に更新されます。 コミットされていないトランザクションがテーブルに対して挿入または削除されている場合、値が正しくない可能性があります。

  • CLUST_INDEX_SIZE

    InnoDB テーブルデータを主キー順に保持する、クラスタ化されたインデックスを格納するディスク上のページ数。 この値は、テーブルの統計がまだ収集されていない場合は NULL になることがあります。

  • OTHER_INDEX_SIZE

    テーブルのすべてのセカンダリインデックスを格納するディスク上のページ数。 この値は、テーブルの統計がまだ収集されていない場合は NULL になることがあります。

  • MODIFIED_COUNTER

    INSERTUPDATEDELETE などの DML 操作と外部キーのカスケード操作によって変更された行の数。 このカラムは、テーブル統計が再計算されるごとにリセットされます。

  • AUTOINC

    すべての自動インクリメントベースの操作で発行される次の番号。 AUTOINC 値の変更ペースは、自動インクリメント番号が要求された回数と、要求ごとに認められる番号の数に応じて異なります。

  • REF_COUNT

    このカウンタがゼロになると、テーブルメタデータをテーブルキャッシュから削除できます。

mysql> SELECT * FROM INFORMATION_SCHEMA.INNODB_TABLESTATS where TABLE_ID = 71\G
*************************** 1. row ***************************
         TABLE_ID: 71
             NAME: test/t1
STATS_INITIALIZED: Initialized
         NUM_ROWS: 1
 CLUST_INDEX_SIZE: 1
 OTHER_INDEX_SIZE: 0
 MODIFIED_COUNTER: 1
          AUTOINC: 0
        REF_COUNT: 1

メモ

  • このテーブルは、主にエキスパートレベルのパフォーマンス監視、または MySQL のパフォーマンス関連の拡張機能を開発する場合に役立ちます。

  • このテーブルをクエリーするには PROCESS 権限が必要です。

  • INFORMATION_SCHEMA COLUMNS テーブルまたは SHOW COLUMNS ステートメントを使用して、データ型やデフォルト値など、このテーブルのカラムに関する追加情報を表示します。