PARTITIONS
テーブルはテーブルの分割に関する情報を提供します。テーブルの分割に関する詳細は
章 15. パーティショニング を参照してください。
INFORMATION_SCHEMA
名 |
SHOW 名 |
備考 |
TABLE_CATALOG |
MySQL 拡張 | |
TABLE_SCHEMA |
MySQL 拡張 | |
TABLE_NAME |
MySQL 拡張 | |
PARTITION_NAME |
MySQL 拡張 | |
SUBPARTITION_NAME |
MySQL 拡張 | |
PARTITION_ORDINAL_POSITION |
MySQL 拡張 | |
SUBPARTITION_ORDINAL_POSITION |
MySQL 拡張 | |
PARTITION_METHOD |
MySQL 拡張 | |
SUBPARTITION_METHOD |
MySQL 拡張 | |
PARTITION_EXPRESSION |
MySQL 拡張 | |
SUBPARTITION_EXPRESSION |
MySQL 拡張 | |
PARTITION_DESCRIPTION |
MySQL 拡張 | |
TABLE_ROWS |
MySQL 拡張 | |
AVG_ROW_LENGTH |
MySQL 拡張 | |
DATA_LENGTH |
MySQL 拡張 | |
MAX_DATA_LENGTH |
MySQL 拡張 | |
INDEX_LENGTH |
MySQL 拡張 | |
DATA_FREE |
MySQL 拡張 | |
CREATE_TIME |
MySQL 拡張 | |
UPDATE_TIME |
MySQL 拡張 | |
CHECK_TIME |
MySQL 拡張 | |
CHECKSUM |
MySQL 拡張 | |
PARTITION_COMMENT |
MySQL 拡張 | |
NODEGROUP |
MySQL 拡張 | |
TABLESPACE_NAME |
MySQL 拡張 |
注:
PARTITIONS
テーブルは非標準のテーブルです。それは
MySQL 5.1.6 に追加されています。
このテーブルの各レコードは個々の分割あるいは分割されたテーブルのサブ分割に一致します。
TABLE_CATALOG
:このカラムは常に
NULL
です。
TABLE_SCHEMA
:このカラムはテーブルが属すデータベース名を含みます。
TABLE_NAME
:このカラムは分割を含むテーブル名を含みます。
PARTITION_NAME
:分割の名前です。
SUBPARTITION_NAME
:PARTITIONS
テーブルのレコードがサブ分割を表す場合、このカラムはサブ分割名を含みます。そうでない場合
NULL
になります。
PARTITION_ORDINAL_POSITION
:すべての分割はそれらが定義されたときの順序でインデックスが付けられます。最初の分割に割り当てられた番号は
1
になります。インデックスは分割が追加、削除、再手配されることによって変わります。このカラムに表示された番号はインデックスの変更を考慮した現在の順序を表します。
SUBPARTITION_ORDINAL_POSITION
:所定の分割のサブ分割はテーブル内で分割がインデックスされるの同様にインデックスまたは再インデックスされます。
PARTITION_METHOD
:RANGE
、LIST
、HASH
、LINEAR
HASH
、KEY
、あるいは
LINEAR KEY
のいずれかの値です。つまり、
項15.2. 「パーティショニングのタイプ」
で説明した利用できる分割タイプの 1
つです。
SUBPARTITION_METHOD
:HASH
、LINEAR
HASH
、KEY
あるいは
LINEAR KEY
のいずれかの値の 1
つです。つまり、項15.2.5. 「サブパーティショニング」
で説明したサブ利用できる分割タイプの 1
つです。
PARTITION_EXPRESSION
:これはテーブルの現在の分割スキーマを作成した
CREATE TABLE
あるいは ALTER
TABLE
に使用された分割関数の式です。
例として、このステートメントを使用して
test
データベースで作成された分割テーブルを考えてみます。
CREATE TABLE tp ( c1 INT, c2 INT, c3 VARCHAR(25) ) PARTITION BY HASH(c1 + c2) PARTITIONS 4;
このテーブルの分割のPARTITIONS テーブル
レコードのPARTITION_EXPRESSION
カラムは以下のように c1 + c2
を表示します。
mysql>SELECT DISTINCT PARTITION_EXPRESSION
>FROM INFORMATION_SCHEMA.PARTITIONS
>WHERE TABLE_NAME='tp' AND TABLE_SCHEMA='test';
+----------------------+ | PARTITION_EXPRESSION | +----------------------+ | c1 + c2 | +----------------------+ 1 row in set (0.09 sec)
SUBPARTITION_EXPRESSION
:これはテーブルの分割を定義するために使用された分割式に
PARTITION_EXPRESSION
が行っているのと同様にテーブルのサブ分割を定義するサブ分割式に対して同様に機能します。
テーブルにサブ分割がない場合、このカラムは
NULL
です。
PARTITION_DESCRIPTION
:このカラムは
RANGE および LIST
分割に使用されます。RANGE
分割では、それは分割の VALUES LESS
THAN
節で設定された値セットを含みます。それは整数あるいは
MAXVALUE
のいずれかになります。LIST
分割では、このカラムは分割 VALUES
IN
節で定義された値を含みます。それは整数値のコンマ区切りのリストです。
PARTITION_METHOD
が
RANGE
あるいは LIST
以外の分割の場合、このカラムは常に
NULL
になります。
TABLE_ROWS
:分割のテーブル行の数です。
AVG_ROW_LENGTH
:この分割あるいはサブ分割で保存された行の平均の長さでバイトで表します。
これは TABLE_ROWS
で分割された
DATA_LENGTH
と同じです。
DATA_LENGTH
:この分割あるいはサブ分割に保存されたすべての行の全長でバイトで表します。—
つまり分割およびサブ分割に保存されたバイトの総数です。
MAX_DATA_LENGTH
:この分割およびサブ分割に保存される最大のバイト数です。
INDEX_LENGTH
:この分割およびサブ分割のインデックス
ファイルの長さでバイトで表します。
DATA_FREE
:分割あるいはサブ分割に割り当てられたバイト数で使用されていないものです。
CREATE_TIME
:分割およびサブ分割の作成に要する時間です。
UPDATE_TIME
:分割あるいはサブ分割が最後に変更された時間です。
CHECK_TIME
:分割あるいはサブ分割が属すテーブルが最後にチェックされた時間です。
注:ストレージ
エンジンの中には今回更新されないものがあります。というのはこれらのストレージ
エンジンを使用しているテーブルに対し、この値が常に
NULL
だからです。
CHECKSUM
:チェックサムの値(もしあれば)、そうでない場合、このカラムは
NULL
です。
PARTITION_COMMENT
:このカラムは分割に対するコメントのテキストを含んでいます。
このカラムのデフォルト値は空の文字列です。
NODEGROUP
:これは分割が属すノードグループです。これは
MySQL
クラスタテーブルにのみ関連します。そうでない場合このカラムの値は常に
0
です。
TABLESPACE_NAME
:このカラムは分割が属すテーブルスペース名を含んでいます。MySQL
5.1 では、このカラムの値は常に
DEFAULT
です。
重要MySQL 5.1.6 以前の
MySQL
バージョンで作成された分割テーブルがある場合、MySQL
5.1.6
あるいはそれ以降にアップグレードする場合、
SHOW
、あるいは
DESCRIBE
the PARTITIONS
から SELECT
することはできません。MySQL 5.1.5
あるいはそれ以前のバージョンから MySQL 5.1.6
およびそれ以降にアップグレードする前に
項C.1.11. 「Changes in release 5.1.6 (01 February 2006)」 を
参照してください。
非分割のテーブルには
INFORMATION_SCHEMA.PARTITIONS
にレコードが 1
つあります。しかし、PARTITION_NAME
、SUBPARTITION_NAME
、PARTITION_ORDINAL_POSITION
、SUBPARTITION_ORDINAL_POSITION
、PARTITION_METHOD
、SUBPARTITION_METHOD
、PARTITION_EXPRESSION
、SUBPARTITION_EXPRESSION
、および
PARTITION_DESCRIPTION
カラムの値はすべて NULL
です。(この場合の PARTITION_COMMENT
のカラムは空白です。)
MySQL 5.1 には、PARTITIONS
テーブルに NDBCluster
ストレージ
エンジンを使用したテーブルに対しレコードが
1
つだけあります。同じカラムはまた非分割テーブルに対しては
NULL
(あるいは空) です。