Documentation Home
MySQL 5.6 リファレンスマニュアル
Download this Manual
PDF (US Ltr) - 27.1Mb
PDF (A4) - 27.2Mb
HTML Download (TGZ) - 7.2Mb
HTML Download (Zip) - 7.2Mb


MySQL 5.6 リファレンスマニュアル  /  ...  /  InnoDB テーブルモニターの出力

14.15.5 InnoDB テーブルモニターの出力

注記

InnoDB テーブルモニターは非推奨であり、将来のリリースで削除される可能性があります。同様の情報は、InnoDB INFORMATION_SCHEMA テーブルから取得できます。セクション21.29「InnoDB の INFORMATION_SCHEMA テーブル」を参照してください。

InnoDB テーブルモニターは、InnoDB 内部データディクショナリの内容を出力します。

この出力には、テーブルごとに 1 つのセクションが含まれます。SYS_FOREIGN および SYS_FOREIGN_COLS セクションは、外部キーに関する情報を保持する内部データディクショナリテーブルのためのものです。また、テーブルモニターのテーブルや、ユーザーが作成した各 InnoDB テーブルのためのセクションもあります。test データベース内に次の 2 つのテーブルが作成されたとします。

CREATE TABLE parent
(
  par_id    INT NOT NULL,
  fname      CHAR(20),
  lname      CHAR(20),
  PRIMARY KEY (par_id),
  UNIQUE INDEX (lname, fname)
) ENGINE = INNODB;

CREATE TABLE child
(
  par_id      INT NOT NULL,
  child_id    INT NOT NULL,
  name        VARCHAR(40),
  birth       DATE,
  weight      DECIMAL(10,2),
  misc_info   VARCHAR(255),
  last_update TIMESTAMP,
  PRIMARY KEY (par_id, child_id),
  INDEX (name),
  FOREIGN KEY (par_id) REFERENCES parent (par_id)
    ON DELETE CASCADE
    ON UPDATE CASCADE
) ENGINE = INNODB;

この場合、テーブルモニターの出力は次のようになります (形式を少し変更しました)。

===========================================
090420 12:09:32 INNODB TABLE MONITOR OUTPUT
===========================================
--------------------------------------
TABLE: name SYS_FOREIGN, id 0 11, columns 7, indexes 3, appr.rows 1
  COLUMNS: ID: DATA_VARCHAR DATA_ENGLISH len 0;
           FOR_NAME: DATA_VARCHAR DATA_ENGLISH len 0;
           REF_NAME: DATA_VARCHAR DATA_ENGLISH len 0;
           N_COLS: DATA_INT len 4;
           DB_ROW_ID: DATA_SYS prtype 256 len 6;
           DB_TRX_ID: DATA_SYS prtype 257 len 6;
  INDEX: name ID_IND, id 0 11, fields 1/6, uniq 1, type 3
   root page 46, appr.key vals 1, leaf pages 1, size pages 1
   FIELDS:  ID DB_TRX_ID DB_ROLL_PTR FOR_NAME REF_NAME N_COLS
  INDEX: name FOR_IND, id 0 12, fields 1/2, uniq 2, type 0
   root page 47, appr.key vals 1, leaf pages 1, size pages 1
   FIELDS:  FOR_NAME ID
  INDEX: name REF_IND, id 0 13, fields 1/2, uniq 2, type 0
   root page 48, appr.key vals 1, leaf pages 1, size pages 1
   FIELDS:  REF_NAME ID
--------------------------------------
TABLE: name SYS_FOREIGN_COLS, id 0 12, columns 7, indexes 1, appr.rows 1
  COLUMNS: ID: DATA_VARCHAR DATA_ENGLISH len 0;
           POS: DATA_INT len 4;
           FOR_COL_NAME: DATA_VARCHAR DATA_ENGLISH len 0;
           REF_COL_NAME: DATA_VARCHAR DATA_ENGLISH len 0;
           DB_ROW_ID: DATA_SYS prtype 256 len 6;
           DB_TRX_ID: DATA_SYS prtype 257 len 6;
  INDEX: name ID_IND, id 0 14, fields 2/6, uniq 2, type 3
   root page 49, appr.key vals 1, leaf pages 1, size pages 1
   FIELDS:  ID POS DB_TRX_ID DB_ROLL_PTR FOR_COL_NAME REF_COL_NAME
--------------------------------------
TABLE: name test/child, id 0 14, columns 10, indexes 2, appr.rows 201
  COLUMNS: par_id: DATA_INT DATA_BINARY_TYPE DATA_NOT_NULL len 4;
           child_id: DATA_INT DATA_BINARY_TYPE DATA_NOT_NULL len 4;
           name: DATA_VARCHAR prtype 524303 len 40;
           birth: DATA_INT DATA_BINARY_TYPE len 3;
           weight: DATA_FIXBINARY DATA_BINARY_TYPE len 5;
           misc_info: DATA_VARCHAR prtype 524303 len 255;
           last_update: DATA_INT DATA_UNSIGNED DATA_BINARY_TYPE DATA_NOT_NULL len 4;
           DB_ROW_ID: DATA_SYS prtype 256 len 6;
           DB_TRX_ID: DATA_SYS prtype 257 len 6;
  INDEX: name PRIMARY, id 0 17, fields 2/9, uniq 2, type 3
   root page 52, appr.key vals 201, leaf pages 5, size pages 6
   FIELDS:  par_id child_id DB_TRX_ID DB_ROLL_PTR name birth weight misc_info last_update
  INDEX: name name, id 0 18, fields 1/3, uniq 3, type 0
   root page 53, appr.key vals 210, leaf pages 1, size pages 1
   FIELDS:  name par_id child_id
  FOREIGN KEY CONSTRAINT test/child_ibfk_1: test/child ( par_id )
             REFERENCES test/parent ( par_id )
--------------------------------------
TABLE: name test/innodb_table_monitor, id 0 15, columns 4, indexes 1, appr.rows 0
  COLUMNS: i: DATA_INT DATA_BINARY_TYPE len 4;
           DB_ROW_ID: DATA_SYS prtype 256 len 6;
           DB_TRX_ID: DATA_SYS prtype 257 len 6;
  INDEX: name GEN_CLUST_INDEX, id 0 19, fields 0/4, uniq 1, type 1
   root page 193, appr.key vals 0, leaf pages 1, size pages 1
   FIELDS:  DB_ROW_ID DB_TRX_ID DB_ROLL_PTR i
--------------------------------------
TABLE: name test/parent, id 0 13, columns 6, indexes 2, appr.rows 299
  COLUMNS: par_id: DATA_INT DATA_BINARY_TYPE DATA_NOT_NULL len 4;
           fname: DATA_CHAR prtype 524542 len 20;
           lname: DATA_CHAR prtype 524542 len 20;
           DB_ROW_ID: DATA_SYS prtype 256 len 6;
           DB_TRX_ID: DATA_SYS prtype 257 len 6;
  INDEX: name PRIMARY, id 0 15, fields 1/5, uniq 1, type 3
   root page 50, appr.key vals 299, leaf pages 2, size pages 3
   FIELDS:  par_id DB_TRX_ID DB_ROLL_PTR fname lname
  INDEX: name lname, id 0 16, fields 2/3, uniq 2, type 2
   root page 51, appr.key vals 300, leaf pages 1, size pages 1
   FIELDS:  lname fname par_id
  FOREIGN KEY CONSTRAINT test/child_ibfk_1: test/child ( par_id )
             REFERENCES test/parent ( par_id )
-----------------------------------
END OF INNODB TABLE MONITOR OUTPUT
==================================

テーブルモニターの出力には、テーブルごとに、そのテーブルに関する一般的な情報と、そのカラム、インデックス、および外部キーに関する固有の情報を表示するセクションが含まれます。

テーブルごとの一般的な情報には、テーブル名 (内部テーブルを除き、db_name/tbl_name の形式)、その ID、カラムとインデックスの数、および概略の行数が含まれます。

テーブルセクションの COLUMNS の部分には、テーブル内の各カラムが一覧表示されます。カラムごとの情報には、その名前とデータ型の特性が示されます。InnoDB によって、DB_ROW_ID (行 ID)、DB_TRX_ID (トランザクション ID)、DB_ROLL_PTR (ロールバック/Undo データへのポインタ) などのいくつかの内部カラムが追加されます。

  • DATA_xxx: これらのシンボルはデータ型を示します。特定のカラムについて、複数の DATA_xxx シンボルが存在する可能性があります。

  • prtype: そのカラムの正確な型。このフィールドには、そのカラムのデータ型、文字セットコード、NULL 可能性、符号の有無、それがバイナリ文字列であるかどうかなどの情報が含まれます。このフィールドについては、innobase/include/data0type.h ソースファイルで説明されています。

  • len: カラムの長さ (バイト単位)。

テーブルセクションの各 INDEX の部分は、1 つのテーブルインデックスの名前と特性を提供します。

  • name: インデックス名。この名前が PRIMARY である場合、そのインデックスは主キーです。この名前が GEN_CLUST_INDEX である場合、そのインデックスは、テーブル定義に主キーや NULL 以外の一意のインデックスが含まれていないときに自動的に作成されるクラスタ化されたインデックスです。セクション14.2.13.2「クラスタインデックスとセカンダリインデックス」を参照してください。

  • id: インデックス ID。

  • fields: インデックス内のフィールドの数。m/n という形式の値です。

    • m はユーザー定義のカラムの数です。つまり、CREATE TABLE ステートメントのインデックス定義に表示されるカラム数です。

    • n は、内部的に追加されたものを含むインデックスカラムの総数です。クラスタ化されたインデックスの場合、この総数には、テーブル定義内のほかのカラムに加えて、内部的に追加されたすべてのカラムが含まれます。セカンダリインデックスの場合、この総数には、セカンダリインデックスには含まれていない主キーのカラムが含まれます。

  • uniq: インデックス値を一意に特定するために十分な先頭フィールドの数。

  • type: インデックスタイプ。これはビットフィールドです。たとえば、1 はクラスタ化されたインデックスを示し、2 は一意のインデックスを示すため、クラスタ化されたインデックス (常に一意の値を含みます) の type 値は 3 になります。type 値が 0 であるインデックスは、クラスタ化されたインデックスでも一意のインデックスでもありません。これらのフラグ値は、innobase/include/dict0mem.h ソースファイルで定義されています。

  • root page: インデックスのルートページ番号。

  • appr. key vals: 概略のインデックスカーディナリティー。

  • leaf pages: インデックス内のリーフページの概数。

  • size pages: インデックス内の概略のページの総数。

  • FIELDS: インデックス内のフィールドの名前。自動的に生成されたクラスタ化されたインデックスの場合、このフィールドリストは、内部の DB_ROW_ID (行 ID) フィールドで始まります。クラスタ化されたインデックスには、主キーを構成するフィールドに続けて、常に DB_TRX_IDDB_ROLL_PTR が内部的に追加されます。セカンダリインデックスの場合、最後の数フィールドは、セカンダリインデックスには含まれていない主キーのフィールドです。

テーブルセクションの最後には、そのテーブルに適用される FOREIGN KEY 定義が一覧表示されます。この情報は、そのテーブルが、参照するテーブルまたは参照されるテーブルのどちらであっても表示されます。


User Comments
Sign Up Login You must be logged in to post a comment.