PARTITIONS
テーブルは、テーブルパーティションに関する情報を提供します。テーブルのパーティション化に関する詳細は、第19章「パーティション化」を参照してください。
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
テーブルは、非標準テーブルです。このテーブルの各レコードは、パーティション化されたテーブルの個々のパーティションまたはサブパーティションに対応しています。
TABLE_CATALOG
: このカラムは常にdef
です。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
のいずれかの値です。つまり、セクション19.2「パーティショニングタイプ」で説明しているように、利用可能ないずれかのパーティショニングタイプになります。SUBPARTITION_METHOD
:HASH
、LINEAR HASH
、KEY
、またはLINEAR KEY
のいずれかの値です。つまり、セクション19.2.6「サブパーティショニング」で説明しているように、利用可能ないずれかのサブパーティショニングタイプになります。-
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
: パーティションのテーブル行の数です。パーティション化された
InnoDB
テーブルの場合、TABLE_ROWS
カラムで指定された行数は、SQL 最適化で使用される推定値に過ぎず、必ずしも正確であるとはかぎりません。 -
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
: このカラムには、パーティションに対して行われたコメントのテキストが含まれます。MySQL 5.6.6 より前では、このカラムの表示幅は 80 文字でしたが、この長さを超えたパーティションコメントはこの文字数まで切り捨てられていました。MySQL 5.6.6 以降では、パーティションコメントの最大長は 1024 文字に定義され、
PARTITION_COMMENT
カラムの表示幅はこの上限に一致するように 1024 文字に増やされています (Bug #11748924、Bug #37728)。このカラムのデフォルト値は空の文字列です。
NODEGROUP
: これは、パーティションが属しているノードグループです。これは、MySQL クラスタテーブルにのみ関連します。そうでない場合は、このカラムの値は常に0
です。TABLESPACE_NAME
: このカラムには、パーティションが属しているテーブルスペースの名前が含まれます。現在、このカラムの値は常にDEFAULT
です。パーティション化されていないテーブルには、
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
カラムはブランクです。)