Digital Transformation
Database Index
TL;DR: Database index adalah struktur tambahan yang membuat pencarian data di tabel jauh lebih cepat, mirip daftar isi pada buku. Index mempercepat query, tetapi menambah beban saat menulis data, jadi pemakaiannya perlu dipilih sesuai pola akses.
Apa itu Database Index?
Database index adalah struktur data yang menyimpan posisi baris berdasarkan kolom tertentu, sehingga database tidak perlu memindai seluruh tabel untuk menemukan data. Analoginya seperti daftar isi buku: alih-alih membaca tiap halaman, kita langsung loncat ke lokasi yang dicari.
Saat menangani tabel konten yang terus bertambah di proyek Supabase, menambahkan index pada kolom slug membuat query halaman terasa instan dibanding pemindaian penuh.
Trade-off Index
| Aspek | Dampak |
|---|---|
| Kecepatan baca | Naik signifikan untuk query terindeks |
| Kecepatan tulis | Sedikit turun karena index ikut diperbarui |
| Penyimpanan | Bertambah seiring jumlah index |
Karena itu index sebaiknya dibuat untuk kolom yang sering dipakai memfilter atau mengurutkan, bukan asal semua kolom. Penjelasan teknis tersedia di dokumentasi PostgreSQL tentang indexes.
Kenapa Penting?
Query yang lambat sering jadi sumber halaman yang berat dan memperburuk pengalaman pengguna serta skor Core Web Vitals. Index yang tepat adalah salah satu cara paling murah meningkatkan performa aplikasi berbasis data.
Pertanyaan Umum
Apakah menambah banyak index selalu baik?
Tidak. Setiap index menambah biaya saat menulis data dan memakan penyimpanan, jadi tambahkan hanya yang benar-benar dipakai query.
Bagaimana tahu sebuah query butuh index?
Periksa rencana eksekusi query. Jika database melakukan pemindaian penuh tabel besar pada kolom filter, itu kandidat kuat untuk diindeks.
Istilah Terkait