Partition

Database Partition

Menengah

Teknik membagi tabel besar jadi beberapa segmen lebih kecil berdasarkan kolom tertentu, supaya query cuma perlu baca bagian yang relevan dan jadi jauh lebih cepat.

Apa itu Partition?

Bayangkan kamu punya buku telepon setebal 10.000 halaman. Kalau mau cari nama 'Budi Santoso', jauh lebih cepat langsung buka bagian 'B' daripada baca dari halaman pertama. Itulah konsep dasar Partitioning di database.

Partition adalah teknik membagi sebuah tabel besar menjadi beberapa segmen yang lebih kecil, disebut partisi, berdasarkan nilai dari kolom tertentu (partition key). Dari sisi user atau aplikasi, tabelnya tetap kelihatan sebagai satu tabel utuh. Tapi di belakang layar, database cuma perlu baca partisi yang relevan dengan query kamu.

Jenis-Jenis Partitioning

JenisCara KerjaContoh Penggunaan
Range PartitioningBagi berdasarkan rentang nilaiPartisi per bulan atau tahun untuk data transaksi
List PartitioningBagi berdasarkan nilai spesifikPartisi per wilayah: Jawa, Sumatera, Kalimantan
Hash PartitioningBagi berdasarkan hash functionDistribusi merata untuk data tanpa pola jelas
Composite PartitioningGabungan dua metode di atasRange per year, hash per customer_id

Cara Kerja: Partition Pruning

Keajaiban partitioning ada di fitur Partition Pruning: saat kamu query dengan kondisi WHERE tanggal >= '2025-01-01' AND tanggal < '2025-02-01', database tahu persis bahwa data itu ada di partisi Januari 2025 aja. Jadi dia cuma scan partisi itu, bukan keseluruhan tabel.

Bayangkan tabel transaksi dengan 5 tahun data, sekitar 60 partisi bulanan: query satu bulan cuma perlu baca 1/60 dari total data. Ini bisa bikin waktu query dari menit jadi detik.

Partition vs Index

Sering ada kebingungan antara Partition dan Index. Gampangnya begini:

Partition membagi DATA secara fisik atau logis, berguna untuk query yang scan range data besar.

Index membuat pointer ke lokasi data, berguna untuk lookup record spesifik dengan kondisi tertentu.

Keduanya punya peran berbeda dan sering dipakai bersamaan untuk performa optimal.

Lanjut Latihan

Udah paham Partition? Lanjut latihan SQL dan Excel yuk!

Latihan interaktif, langsung di browser.

Mulai Latihan →