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


21.29.7 INFORMATION_SCHEMA INNODB_SYS_TABLES テーブル

INNODB_SYS_TABLES テーブルは、InnoDB データディクショナリ内の SYS_TABLES テーブルの情報と同等の、InnoDB テーブルに関するメタデータを提供します。

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

表 21.7 INNODB_SYS_TABLES のカラム

カラム名 説明
TABLE_ID インスタンスのすべてのデータベースで一意の各 InnoDB テーブルの識別子。
NAME テーブルの名前。test/t1 のように、必要に応じてデータベース名が前に置かれます。InnoDB システムテーブル名はすべて大文字です。データベースおよびユーザーテーブルの名前の大文字/小文字は、もともと定義されていたものと同じで、lower_case_table_names 設定による影響を受ける可能性があります。
FLAG この値は、行フォーマット、圧縮ページサイズ (該当する場合)、DATA DIRECTORY 句の CREATE TABLE または ALTER TABLE での使用の有無などのテーブルフォーマットおよびストレージ特性に関するビットレベル情報を提供します。
N_COLS テーブル内のカラムの数。レポートされる数値には、InnoDB によって作成される 3 つの非表示カラム (DB_ROW_IDDB_TRX_IDDB_ROLL_PTR) が含まれます。
SPACE テーブルが存在するテーブルスペースの識別子。0 は InnoDB システムテーブルスペースを示します。ほかの数値はすべて、個別の .ibd ファイルを使用して file-per-table モードで作成されたテーブルを表します。この識別子は、TRUNCATE TABLE ステートメントのあとでも同じままです。ゼロ以外の値では、この識別子は、このインスタンス内のすべてのデータベース間のテーブルで一意です。
FILE_FORMAT テーブルのファイル形式 (Antelope または Barracuda)。
ROW_FORMAT テーブルの行フォーマット (Compact、Redundant、Dynamic、または Compressed)。
ZIP_PAGE_SIZE Zip ページサイズ。Compressed 行フォーマットを使用するテーブルにのみ適用されます。

:

mysql> SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES WHERE TABLE_ID = 74 \G
*************************** 1. row ***************************
     TABLE_ID: 74
         NAME: test/t1
         FLAG: 1
       N_COLS: 6
        SPACE: 60
  FILE_FORMAT: Antelope
   ROW_FORMAT: Compact
ZIP_PAGE_SIZE: 0
1 row in set (0.00 sec)

:

  • DESCRIBE または SHOW COLUMNS を使用して、データ型とデフォルト値を含む、このテーブルのカラムに関する追加情報を表示します。

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

INNODB_SYS_TABLES.FLAG カラム値の解釈

INNODB_SYS_TABLES.FLAG カラムは、テーブルのフォーマットおよびストレージ特性に関するビットレベル情報を提供します。次の表に示された該当する 10 進数値を一緒に付加すると、FLAG カラム値を解釈できます。

表 21.8 INNODB_SYS_TABLES FLAG カラムデータを解釈するためのビット位置値

ビット位置 説明 10 進数値
0 行フォーマットが REDUNDANT でない場合、このビットが設定されます。つまり、行フォーマットが COMPACTDYNAMIC、または COMPRESSED の場合に設定されます。
  • 0 - REDUNDANT

  • 1 - COMPACTDYNAMIC、または COMPRESSED

1-4 これらの 4 つのビットには、テーブルの圧縮されたページサイズを表す小さな数値が含まれます。INNODB_SYS_TABLES.ZIP_PAGE_SIZE フィールドにも、該当する場合、圧縮されたページサイズがレポートされます。
  • 0 - 圧縮なし

  • 2 - 1024 バイトの圧縮ページサイズ

  • 4 - 2048 バイトの圧縮ページサイズ

  • 6 - 4096 バイトの圧縮ページサイズ

  • 8 - 8192 バイトの圧縮ページサイズ

  • 10 - 16384 バイトの圧縮ページサイズ

5 行フォーマットが DYNAMIC または COMPRESSED の場合、このビットが設定されます。
  • 0 - REDUNDANT または COMPACT

  • 32 - DYNAMIC または COMPRESSED

6 CREATE TABLE または ALTER TABLEDATA DIRECTORY オプションが使用された場合、このビットが設定されます。デフォルトのデータディレクトリ (datadir) 以外のディレクトリに置かれた file-per-table テーブルスペースに、このビットが設定されます。これらのテーブルについては、tablename.isl ファイルは tablename.frm ファイルと同じ場所に存在します。tablename.isl ファイルには、tablename.ibd file-per-table テーブルスペースファイルへの実際のディレクトリパスが格納されます。
  • 0 - リモートの file-per-table テーブルスペースではない場合

  • 64 - リモートの file-per-table テーブルスペース


次のテーブル t1 では ROW_FORMAT=DYNAMIC を使用し、FLAG 値は 33 です。前述の表の情報に従うと、DYNAMIC 行フォーマットのテーブルでビット位置 0 が 1 に、ビット位置 5 が 32 に設定されることがわかります。これらの値は合計 33 の FLAG 値になります。

mysql> use test;
Database changed

mysql> SET GLOBAL innodb_file_format=Barracuda;
Query OK, 0 rows affected (0.00 sec)

mysql> CREATE TABLE t1 (c1 int) ROW_FORMAT=DYNAMIC;
Query OK, 0 rows affected (0.02 sec)

mysql> SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES WHERE NAME LIKE 'test/t1' \G
*************************** 1. row ***************************
     TABLE_ID: 89
         NAME: test/t1
         FLAG: 33
       N_COLS: 4
        SPACE: 75
  FILE_FORMAT: Barracuda
   ROW_FORMAT: Dynamic
ZIP_PAGE_SIZE: 0
1 row in set (0.01 sec)

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