All Products
Search
Document Center

ApsaraDB for OceanBase (Deprecated):Membuat partisi

Last Updated:Jun 28, 2025

Topik ini menjelaskan ruang lingkup konversi yang didukung untuk operasi DDL CREATE TABLE dalam membuat partisi selama migrasi data dari database MySQL ke tenant MySQL di OceanBase Database.

Sintaksis

partition_options:
    PARTITION BY
        { [LINEAR] HASH(expr)
        | [LINEAR] KEY [ALGORITHM={1 | 2}] (column_list)
        | RANGE{(expr) | COLUMNS(column_list)}
        | LIST{(expr) | COLUMNS(column_list)} }
    [PARTITIONS num]
    [SUBPARTITION BY
        { [LINEAR] HASH(expr)
        | [LINEAR] KEY [ALGORITHM={1 | 2}] (column_list) }
      [SUBPARTITIONS num]
    ]
    [(partition_definition [, partition_definition] ...)]

partition_definition:
    PARTITION partition_name
        [VALUES
            {LESS THAN {(expr | value_list) | MAXVALUE}
            |
            IN (value_list)}]
        [[STORAGE] ENGINE [=] engine_name]
        [COMMENT [=] 'string' ]
        [DATA DIRECTORY [=] 'data_dir']
        [INDEX DIRECTORY [=] 'index_dir']
        [MAX_ROWS [=] max_number_of_rows]
        [MIN_ROWS [=] min_number_of_rows]
        [TABLESPACE [=] tablespace_name]
        [(subpartition_definition [, subpartition_definition] ...)]

subpartition_definition:
    SUBPARTITION logical_name
        [[STORAGE] ENGINE [=] engine_name]
        [COMMENT [=] 'string' ]
        [DATA DIRECTORY [=] 'data_dir']
        [INDEX DIRECTORY [=] 'index_dir']
        [MAX_ROWS [=] max_number_of_rows]
        [MIN_ROWS [=] min_number_of_rows]
        [TABLESPACE [=] tablespace_name]

Operasi yang didukung

  • Membuat partisi RANGE, LIST, HASH, atau KEY.

  • Membuat subpartisi HASH atau KEY.

  • Menentukan kunci partisi berbasis fungsi (ekspresi atau fungsi) atau kunci partisi berbasis kolom (bidang) untuk partisi RANGE, LIST, dan HASH. Menentukan kunci partisi berbasis kolom untuk partisi KEY.

  • Menentukan opsi PARTITIONS num dan SUBPARTITIONS num.

Operasi yang tidak didukung

Membuat partisi LINEAR HASH atau LINEAR KEY.

Penting

Jika pernyataan DDL sinkronisasi untuk membuat partisi mengandung definisi yang tidak didukung, definisi partisi yang dihasilkan akan kosong, tetapi skema tabel tetap dipertahankan (dengan definisi partisi dibuang).

Klausa dan opsi yang diabaikan

Penting

Klausa dan opsi berikut akan diabaikan dan tidak akan diselesaikan atau dikonversi ketika ditentukan dalam pernyataan DDL sinkronisasi.

  • ENGINE

  • COMMENT

  • DATA DIRECTORY

  • INDEX DIRECTORY

  • MAX_ROWS

  • MIN_ROWS

  • TABLESPACE

  • ALGORITHM (untuk partisi KEY)

    PARTITION BY KEY ALGORITHM={1 | 2} (column_list) -> PARTITION BY KEY (column_list)

Batasan

Penting

Karena batasan tenant MySQL di OceanBase Database, kesalahan mungkin terjadi ketika pernyataan DDL sinkronisasi dikonversi dan dieksekusi di tenant MySQL di OceanBase Database dalam skenario berikut:

  • Tenant MySQL di OceanBase Database tidak mendukung penggunaan bidang dengan tipe tertentu sebagai kunci partisi.

  • Tenant MySQL di OceanBase Database tidak mendukung penggunaan fungsi atau ekspresi tertentu sebagai kunci partisi.