Digital Transformation

Database Index (Indeks Basis Data)

Vito Atmo
Vito Atmo·11 Juni 2026·0 kali dibaca·2 min baca

TL;DR: Database index adalah struktur data yang mempercepat pencarian baris di sebuah tabel tanpa harus memindai seluruh isinya. Manfaatnya besar untuk operasi baca, tapi setiap index menambah biaya saat menulis data dan memakan ruang penyimpanan. Aturannya: indeks kolom yang sering dipakai untuk filter atau join, bukan semua kolom.

Apa itu Database Index?

Tanpa index, mencari satu baris di tabel berisi sejuta data berarti database membaca baris satu per satu sampai ketemu. Ini disebut full table scan, dan lambat. Index bekerja seperti indeks di belakang buku: alih-alih membaca tiap halaman, database melompat langsung ke lokasi yang relevan.

Index biasanya dibuat pada kolom yang sering muncul di klausa pencarian, seperti kolom email saat login atau kolom slug saat memuat sebuah halaman. Tanpa penanganan yang benar, query yang lambat bisa menjadi sumber technical debt yang menumpuk seiring data bertambah.

Kapan Memakai Index

Cocok diindeksHati-hati
Kolom untuk filter (WHERE)Tabel kecil (overhead tidak sepadan)
Kolom untuk joinKolom yang sering di-update
Kolom untuk pengurutan (ORDER BY)Terlalu banyak index di satu tabel

Index yang tepat sering menjadi solusi paling efektif untuk masalah N+1 query dan koneksi database yang menumpuk.

Kenapa Penting?

Untuk website bisnis yang datanya tumbuh, index adalah pembeda antara halaman yang dimuat dalam milidetik dan yang terasa berat. Dalam beberapa proyek dengan tabel artikel dan glosarium yang terus bertambah, menambahkan index pada kolom slug dan status membuat query daftar konten tetap ringan meski jumlah baris naik. Panduan praktis pemilihan index tersedia di dokumentasi indexing PostgreSQL.

Pertanyaan Umum

Apakah menambah index selalu mempercepat aplikasi?

Tidak. Index mempercepat baca tapi memperlambat tulis, karena setiap INSERT atau UPDATE harus memperbarui index juga. Index yang tidak terpakai hanya membuang ruang dan menambah beban.

Berapa banyak index yang ideal per tabel?

Tidak ada angka pasti. Mulai dari kolom yang benar-benar sering dipakai untuk filter dan join, lalu evaluasi dengan melihat query yang lambat, bukan menebak.

Bagikan