全部产品
Search
文档中心

PolarDB:Partisi LIST COLUMNS

更新时间:Jul 06, 2025

Sintaksis

Dalam partisi LIST COLUMNS, Anda harus menentukan nilai kunci partisi untuk setiap partisi. Setiap nilai kunci partisi yang terdaftar harus unik. Anda dapat menggunakan DEFAULT untuk menentukan partisi penampung bagi baris yang tidak dicakup oleh partisi lainnya.

CREATE TABLE ... 
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, ...]
Catatan

Untuk informasi lebih lanjut tentang perbedaan antara partisi LIST dan partisi LIST COLUMNS, lihat tabel Perbandingan antara partisi LIST dan partisi LIST COLUMNS pada topik "Ikhtisar".

Catatan penggunaan

  • Partisi LIST COLUMNS tidak mendukung fungsi partisi.

  • Secara default, tabel yang dipartisi dapat berisi hingga 8.192 partisi.

  • Secara default, kunci partisi dapat terdiri dari hingga lima kolom kunci partisi.

  • Nama setiap partisi harus unik dan secara default dapat memiliki panjang hingga 16 karakter.

  • Jika Anda menggunakan kolom dengan tipe data sensitif zona waktu seperti TIMESTAMP sebagai kolom kunci partisi, Anda harus menggunakan fungsi partisi UNIX_TIMESTAMP untuk kolom kunci partisi tersebut.

Contoh

Gunakan kunci partisi vektor yang terdiri dari kolom birthday dan id untuk melakukan partisi LIST COLUMNS.

CREATE TABLE tb_lc(
 id bigint not null auto_increment, 
 bid int, 
 name varchar(30),
 birthday datetime not null,
 primary key(id)
) 
PARTITION BY LIST COLUMNS(birthday, id)
(
   PARTITION p1 VALUES IN (('2020-01-01', 1000),('2020-01-01', 2000)),
   PARTITION p2 VALUES IN (('2021-01-01', 1000),('2021-01-01', 2000)),
   PARTITION p3 VALUES IN (('2022-01-01', 1000),('2022-01-01', 2000)),
   PARTITION pm VALUES IN (DEFAULT)
)

Batasan pada tipe data

  • Tipe bilangan bulat: BIGINT, BIGINT UNSIGNED, INT, INT UNSIGNED, MEDIUMINT, MEDIUMINT UNSIGNED, SMALLINT, SMALLINT UNSIGNED, TINYINT, dan TINYINT UNSIGNED.

  • Tipe tanggal dan waktu: DATETIME, DATE, dan TIMESTAMP.

  • Tipe string: CHAR dan VARCHAR.

  • Tipe titik tetap: DECIMAL, di mana jumlah digit di bagian pecahan harus 0.