All Products
Search
Document Center

PolarDB:DD

Last Updated:Mar 29, 2026

DD mempartisi data ke dalam shard tabel berdasarkan hari dalam bulan. Setiap shard tabel menyimpan data untuk satu hari tertentu, dan namanya secara langsung mencerminkan nomor hari yang dikandungnya.

Cara kerja

DD mengekstrak nilai hari dalam bulan dari kunci partisi dan menggunakannya sebagai subskrip shard tabel. Sebagai contoh, baris dengan create_time = '2024-03-15 10:00:00' dipetakan ke shard untuk hari ke-15. Tabel fisik yang dihasilkan diberi nama berdasarkan nomor hari tersebut, sehingga nama shard-nya langsung mengidentifikasi data hari mana yang disimpan di dalamnya.

Kasus penggunaan

DD cocok untuk beban kerja yang datanya di-query atau di-purge berdasarkan hari. Karena setiap shard hanya mencakup satu hari, Anda dapat menghapus seluruh data untuk satu hari dengan menjatuhkan (drop) satu shard tabel.

Contoh

Pernyataan Data Definition Language (DDL) berikut mempartisi data ke dalam shard database berdasarkan ID pengguna (id) dan membuat satu shard tabel per hari berdasarkan create_time. Dengan tbpartitions 31, hingga 31 shard tabel dibuat—satu untuk setiap hari dalam satu bulan.

CREATE TABLE test_dd_tb (
    id          INT,
    name        VARCHAR(30) DEFAULT NULL,
    create_time DATETIME    DEFAULT NULL,
    PRIMARY KEY (id)
) ENGINE = InnoDB DEFAULT CHARSET = utf8
  dbpartition BY HASH(id)
  tbpartition BY DD(create_time) tbpartitions 31;

Batasan

ConstraintDetail
Jenis kunci partisiHanya DATE, DATETIME, atau TIMESTAMP
Cakupan partisiHanya untuk shard tabel (tbpartition); tidak dapat digunakan untuk shard database (dbpartition)
Maksimum shard tabel per shard database31 — satu bulan memiliki paling banyak 31 hari
Versi minimum PolarDB-X 1.05.1.28-1320920