Index
Database Index
Struktur data yang mempercepat operasi pencarian pada tabel database dengan membuat lookup cepat, mirip seperti indeks di buku.
Index adalah struktur data terpisah yang disimpan di samping tabel, memungkinkan database menemukan baris dengan cepat tanpa harus scan seluruh tabel (full table scan).
Analogi
Index database seperti indeks di buku: daripada baca semua halaman untuk cari kata, kamu buka indeks di belakang → langsung ke halaman yang relevan.
Jenis Index Umum
B-tree Index (default)
- Cocok untuk: =, <, >, BETWEEN, LIKE 'prefix%'
- Mendukung range query dan exact match
- Default index di PostgreSQL, MySQL
Hash Index
- Hanya untuk: = (exact match)
- Lebih cepat untuk equality, tapi tidak mendukung range
Partial Index
- Index hanya subset baris
- Contoh: index hanya untuk status = 'active'
Composite Index
- Index pada beberapa kolom sekaligus
- Urutan kolom penting: (a, b) efisien untuk query pada a atau (a, b), tapi tidak untuk b saja
Trade-off Index
| Keuntungan | Kerugian |
|---|---|
| SELECT lebih cepat | INSERT/UPDATE/DELETE lebih lambat |
| Efisien untuk filter/sort | Storage tambahan |
| Mendukung JOIN performa | Overhead maintenance |
Istilah Terkait
Schema
Database & StorageBlueprint atau struktur yang mendefinisikan organisasi database - mencakup tabel, kolom, tipe data, relasi, dan constraints.
Normalization
Database & StorageProses mengorganisir tabel database untuk meminimalkan redundansi data dan mencegah anomali, menggunakan bentuk normal (1NF, 2NF, 3NF).
Primary Key
Database & StorageKolom (atau kombinasi kolom) dalam tabel database yang secara unik mengidentifikasi setiap baris, tidak boleh NULL dan tidak boleh duplikat.
Foreign Key
Database & StorageKolom dalam satu tabel yang mereferensikan Primary Key di tabel lain, membentuk hubungan antar tabel dan menjaga integritas referensial data.
View
Database & StorageQuery SQL yang disimpan dengan nama tertentu di database, sehingga bisa diperlakukan seperti tabel - memudahkan akses data kompleks tanpa mengulang query panjang.
Join
Data ProcessingOperasi SQL yang menggabungkan baris dari dua atau lebih tabel berdasarkan kolom yang saling berhubungan, memungkinkan query lintas tabel.
Udah paham Index? Lanjut latihan SQL dan Excel yuk!
Latihan interaktif, langsung di browser.