Documentation Home
MySQL 5.6 リファレンスマニュアル
Download this Manual
PDF (US Ltr) - 26.8Mb
PDF (A4) - 26.9Mb
HTML Download (TGZ) - 7.1Mb
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
User comments in this section are, as the name implies, provided by MySQL users. The MySQL documentation team is not responsible for, nor do they endorse, any of the information provided here.
Sign Up Login You must be logged in to post a comment.