全部产品
Search
文档中心

PolarDB:Fungsi Partisi

更新时间:Jul 02, 2025

Topik ini menjelaskan fungsi partisi yang didukung oleh database PolarDB-X dalam mode partisi otomatis.

Istilah

  • kunci partisi: Kunci partisi mencakup satu atau lebih kolom yang digunakan oleh PolarDB-X untuk mempartisi tabel secara horizontal.

  • kolom kunci partisi: Kolom kunci partisi adalah kolom yang digunakan oleh PolarDB-X untuk membagi data dalam tabel menjadi partisi. Kunci partisi terdiri dari satu atau lebih kolom kunci partisi.

  • kunci partisi vektor: Kunci partisi vektor mencakup satu atau lebih kolom kunci partisi, seperti (c1,c2,c3) dalam Partition by Hash(c1,c2,c3).

  • kunci partisi kolom tunggal: Kunci partisi kolom tunggal hanya mencakup satu kolom kunci partisi, seperti c1 dalam Partition by Hash(c1).

  • fungsi partisi: Fungsi partisi menggunakan kolom kunci partisi sebagai parameter input dan mengembalikan hasil yang menentukan ke partisi mana data diarahkan oleh PolarDB-X. Contoh: Partition by Hash(To_Days(c1)).

  • monotonicity: Monotonicity dari suatu fungsi partisi menggambarkan tren perubahan nilai yang dikembalikan oleh fungsi func(x) ketika nilai variabel independen x meningkat atau menurun. Hanya fungsi partisi dengan monotonicity Ketat atau Non-ketat yang mendukung pemangkasan partisi untuk kueri rentang.

    • Monotonicity Ketat: Jika nilai variabel independen x lebih besar dari nilai variabel independen y, nilai yang dikembalikan oleh fungsi func(x) lebih besar dari nilai yang dikembalikan oleh fungsi func(y). Jika nilai variabel independen x lebih kecil dari nilai variabel independen y, nilai yang dikembalikan oleh fungsi func(x) lebih kecil dari nilai yang dikembalikan oleh fungsi func(y).

    • Monotonicity Non-ketat: Jika nilai variabel independen x lebih besar dari nilai variabel independen y, nilai yang dikembalikan oleh fungsi func(x) lebih besar atau sama dengan nilai yang dikembalikan oleh fungsi func(y). Jika nilai variabel independen x lebih kecil dari nilai variabel independen y, nilai yang dikembalikan oleh fungsi func(x) lebih kecil atau sama dengan nilai yang dikembalikan oleh fungsi func(y).

    • Tidak ada monotonicity: Jika nilai variabel independen x lebih besar dari nilai variabel independen y, nilai yang dikembalikan oleh fungsi func(x) mungkin tidak lebih besar atau sama dengan nilai yang dikembalikan oleh fungsi func(y).

Batasan

Tabel berikut menjelaskan fungsi partisi yang didukung oleh PolarDB-X, versi PolarDB-X yang mendukung fungsi partisi, monotonicity dari fungsi partisi, serta tipe data kolom kunci partisi yang didukung oleh fungsi partisi.

Fungsi Partisi

Deskripsi

Versi yang Didukung

Monotonicity

Tipe Data Kolom Kunci Partisi yang Didukung

Tipe Integer1

Tipe Tanggal dan Waktu2

Tipe String3

Mengembalikan tahun dari tanggal input. Untuk informasi lebih lanjut, lihat YEAR(date) dalam dokumentasi MySQL.

5.4.13 dan setelahnya

Monotonicity Non-ketat

Mengembalikan bulan dari tanggal input. Untuk informasi lebih lanjut, lihat MONTH(date) dalam dokumentasi MySQL.

5.4.13 dan setelahnya

Tidak ada monotonicity

Mengembalikan jumlah hari dari 1 Januari, 0000 hingga tanggal input. Untuk informasi lebih lanjut, lihat TO_DAYS(date) dalam dokumentasi MySQL.

5.4.13 dan setelahnya

Monotonicity Non-ketat

Mengembalikan jumlah bulan dari 1 Januari, 0000 hingga tanggal input. Fungsi ini merupakan fungsi spesifik PolarDB-X.

5.4.16-16717637 dan setelahnya

Monotonicity Non-ketat

Mengembalikan jumlah minggu dari 1 Januari, 0000 hingga tanggal input. Fungsi ini merupakan fungsi spesifik PolarDB-X.

5.4.16-16717637 dan setelahnya

Monotonicity Non-ketat

Mengembalikan jumlah detik dari 1 Januari, 0000, 00:00:00 hingga waktu input. Untuk informasi lebih lanjut, lihat TO_SECONDS(expr) dalam dokumentasi MySQL.

5.4.13 dan setelahnya

Monotonicity Non-ketat

Mengembalikan jumlah detik dari 1 Januari, 1970, 00:00:00 UTC hingga waktu input. Untuk informasi lebih lanjut, lihat UNIX_TIMESTAMP([date]) dalam dokumentasi MySQL.

5.4.13 dan setelahnya

Monotonicity Non-ketat

Mengembalikan nomor minggu dari tanggal input. Sebagai contoh, 1 dikembalikan untuk Minggu, 2 dikembalikan untuk Senin, dan 7 dikembalikan untuk Sabtu. Untuk informasi lebih lanjut, lihat DAYOFWEEK(date) dalam dokumentasi MySQL.

5.4.16-16717637 dan setelahnya

Tidak ada monotonicity

Mengembalikan hari dari tanggal input dalam bulan saat ini. Nilai valid: 1 hingga 31. Untuk informasi lebih lanjut, lihat DAYOFMONTH(date) dalam dokumentasi MySQL.

5.4.16-16717637 dan setelahnya

Tidak ada monotonicity

Mengembalikan hari dari tanggal input dalam tahun saat ini. Nilai valid: 1 hingga 366. Untuk informasi lebih lanjut, lihat DAYOFYEAR(date) dalam dokumentasi MySQL.

5.4.16-16717637 dan setelahnya

Tidak ada monotonicity

SUBSTR/SUBSTRING

Mengembalikan substring dari string input. Untuk informasi lebih lanjut, lihat SUBSTR() and SUBSTRING() dalam dokumentasi MySQL.

5.4.16-16717637 dan setelahnya

Tidak ada monotonicity

Mengembalikan substring paling kanan sepanjang n karakter dari string input. Untuk informasi lebih lanjut, lihat RIGHT(str,len) dalam dokumentasi MySQL.

5.4.18-17034692 dan setelahnya

Tidak ada monotonicity

Mengembalikan substring paling kiri sepanjang n karakter dari string input. Untuk informasi lebih lanjut, lihat LEFT(str,len) dalam dokumentasi MySQL.

5.4.18-17034692 dan setelahnya

Tidak ada monotonicity

1. Tipe integer: BIGINT, BIGINT UNSIGNED, INT, INT UNSIGNED, MEDIUMINT, MEDIUMINT UNSIGNED, SMALLINT, SMALLINT UNSIGNED, TINYINT, dan TINYINT UNSIGNED

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

3. Tipe string: CHAR dan VARCHAR

Tabel berikut menjelaskan kebijakan partisi yang dapat diterapkan pada fungsi partisi yang didukung oleh PolarDB-X.

Fungsi Partisi

Pembagian Kunci

Pembagian HASH

Pembagian RANGE

Pembagian RANGE COLUMNS

Pembagian LIST

Pembagian LIST COLUMNS

Pembagian CO_HASH

Kunci partisi kolom tunggal

Kunci partisi vektor

Kunci partisi kolom tunggal

Kunci partisi vektor

TO_SECOND

SUBSTR/SUBSTRING