PARTITIONS
テーブルは、テーブルパーティションに関する情報を提供します。 このテーブルの各行は、パーティションテーブルの個々のパーティションまたはサブパーティションに対応します。 テーブルのパーティション化の詳細は、第24章「パーティション化」 を参照してください。
PARTITIONS
テーブルには、次のカラムがあります:
-
TABLE_CATALOG
テーブルが属するカタログの名前。 この値は常に
def
です。 -
TABLE_SCHEMA
テーブルが属するスキーマ (データベース) の名前。
-
TABLE_NAME
パーティションを含むテーブルの名前。
-
PARTITION_NAME
パーティションの名前。
-
SUBPARTITION_NAME
PARTITIONS
テーブルの行がサブパーティションを表す場合はサブパーティションの名前、それ以外の場合はNULL
。NDB
の場合: この値は常にNULL
です。 -
PARTITION_ORDINAL_POSITION
すべてのパーティションは、定義されている順序でインデックス付けされ、
1
は最初のパーティションに割り当てられた番号です。 インデックス設定は、パーティションが追加、削除、再編成されると変わることがあります。このカラムに表示された番号は、インデックス設定の変更を考慮した現在の順序を表します。 -
SUBPARTITION_ORDINAL_POSITION
特定のパーティション内のサブパーティションも、パーティションがテーブル内でインデックス付けされるのと同じ方法でインデックス付けおよび再インデックス付けされます。
-
PARTITION_METHOD
RANGE
,LIST
,HASH
,LINEAR HASH
,KEY
またはLINEAR KEY
のいずれかの値、つまり セクション24.2「パーティショニングタイプ」 で説明されている使用可能なパーティション化タイプ。 -
SUBPARTITION_METHOD
値
HASH
,LINEAR HASH
,KEY
またはLINEAR KEY
。つまり、セクション24.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 | +----------------------+
-
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 最適化で使用される推定値に過ぎず、必ずしも正確であるとはかぎりません。NDB
テーブルの場合は、ndb_desc ユーティリティを使用してこの情報を取得することもできます。 -
AVG_ROW_LENGTH
このパーティションまたはサブパーティションに格納されている行の平均長 (バイト)。 これは
TABLE_ROWS
で分割されたDATA_LENGTH
と同じです。NDB
テーブルの場合は、ndb_desc ユーティリティを使用してこの情報を取得することもできます。 -
DATA_LENGTH
このパーティションまたはサブパーティションに格納されているすべての行の合計長 (バイト)。つまり、パーティションまたはサブパーティションに格納されている合計バイト数です。
NDB
テーブルの場合は、ndb_desc ユーティリティを使用してこの情報を取得することもできます。 -
MAX_DATA_LENGTH
このパーティションまたはサブパーティションに格納できる最大バイト数。
NDB
テーブルの場合は、ndb_desc ユーティリティを使用してこの情報を取得することもできます。 -
INDEX_LENGTH
このパーティションまたはサブパーティションのインデックスファイルの長さ (バイト単位)。
NDB
テーブルのパーティションの場合、テーブルで暗黙的または明示的なパーティション化を使用するかどうかにかかわらず、INDEX_LENGTH
カラムの値は常に 0 です。 ただし、ndb_desc ユーティリティを使用して同等の情報を取得できます。 -
DATA_FREE
パーティションまたはサブパーティションに割り当てられているが使用されていないバイト数。
NDB
テーブルの場合は、ndb_desc ユーティリティを使用してこの情報を取得することもできます。 -
CREATE_TIME
パーティションまたはサブパーティションが作成された時刻。
-
UPDATE_TIME
パーティションまたはサブパーティションが最後に変更された時刻。
-
CHECK_TIME
このパーティションまたはサブパーティションが属するテーブルが最後にチェックされた時刻。
パーティション化された
InnoDB
テーブルの場合、値は常にNULL
です。 -
CHECKSUM
チェックサム値 (存在する場合)。それ以外の場合は
NULL
。 -
PARTITION_COMMENT
コメントのテキスト (パーティションにコメントがある場合)。 そうでない場合、この値は空です。
パーティションコメントの最大長は 1024 文字として定義され、
PARTITION_COMMENT
カラムの表示幅も 1024 文字で、この制限に一致します。 -
NODEGROUP
これは、パーティションが属するノードグループです。 これは「NDB Cluster」テーブルにのみ関連します。それ以外の場合、値は常に
0
です。 -
TABLESPACE_NAME
パーティションが属するテーブルスペースの名前。 テーブルで
NDB
ストレージエンジンが使用されていないかぎり、値は常にDEFAULT
です (このセクションの最後にある「ノート」を参照)。
メモ
PARTITIONS
は非標準のINFORMATION_SCHEMA
テーブルです。NDB
以外のストレージエンジンを使用し、パーティション化されていないテーブルには、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
カラムは空白です。-
明示的にパーティション化されていない
NDB
テーブルには、NDB クラスタ内の各データノードのPARTITIONS
テーブル内に 1 つの行があります。 そのような行ごとに、次の手順を実行します:SUBPARTITION_NAME
,SUBPARTITION_ORDINAL_POSITION
,SUBPARTITION_METHOD
,PARTITION_EXPRESSION
,SUBPARTITION_EXPRESSION
,CREATE_TIME
,UPDATE_TIME
,CHECK_TIME
,CHECKSUM
およびTABLESPACE_NAME
のカラムはすべてNULL
です。PARTITION_METHOD
は常にAUTO
です。NODEGROUP
カラムはdefault
です。PARTITION_EXPRESSION
カラムとPARTITION_COMMENT
カラムが空です。