すべてのプロダクト
Search
ドキュメントセンター

PolarDB:リスト列パーティショニング

最終更新日:Jun 11, 2024

構文

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でなければなりません。