構文
LIST COLUMNSパーティション分割では、各パーティションのパーティションキー値をリストする必要があります。 リストされた各パーティションキー値は一意である必要があります。 DEFAULTを使用して、他のパーティションでカバーされていない行のcatch-allパーティションを定義できます。
テーブルを作成...
PARTITION BY LIST COLUMNS(partition_column_list) [PARTITIONS number]
(
PARTITION part_name VALUES IN (list_bound_value_se) 、
PARTITION part_name VALUES IN (list_bound_value_set) 、
...
)
partition_column_list:
partition_column[, partition_column, partition_column, ...]
list_bound_value_set:
list_bound_value[, list_bound_value, list_bound_value, ...]
LISTパーティション分割とLIST COLUMNSパーティション分割の違いの詳細については、「概要」トピックのLISTパーティション分割とLIST COLUMNSパーティション分割の比較を参照してください。
使用上の注意
LIST COLUMNSパーティションは、パーティション関数をサポートしていません。
既定では、パーティション分割テーブルには最大8,192個のパーティションを含めることができます。
デフォルトでは、パーティションキーは最大5つのパーティションキー列で構成できます。
各パーティションの名前は一意である必要があり、デフォルトでは最大16文字の長さにすることができます。
TIMESTAMPなどのタイムゾーンに依存するデータ型の列をパーティションキー列として使用する場合は、パーティションキー列にUNIX_TIMESTAMPパーティション分割関数を使用する必要があります。
例
birthday列とid列で構成されるvectorパーティションキーを使用して、LIST columnsパーティションを実行します。
テーブルの作成tb_lc (
id bigint not null auto_increment,
bid int,
名前varchar(30) 、
birthday datetime not null,
主キー (id)
)
リストコラムによるパーティー (誕生日、id)
(
パートp1値 (('2020-01-01 '、1000) 、('2020-01-01' 、2000)) 、
パートp2の値 (('2021-01-01 '、1000) 、('2021-01-01' 、2000)) 、
PARTITION p3 VALUES IN (('2022-01-01 '、1000) 、('2022-01-01' 、2000)) 、
パーティションの午後値 (デフォルト)
)
データ型の制限
整数型: BIGINT、BIGINT UNSINGEDINT、INT、INT UNSINGED、MEDIUMINT、MEDIUMINT UNSINGED、SMALLINT、SMALLINT UNSINGED、TINYINT、およびTINYINT UNSINGED
日付と時刻のタイプ: DATETIME、Date、およびTIMESTAMP
文字列型: CHARおよびVARCHR
固定小数点タイプ: DECIMAL。小数部の桁数は0でなければなりません。