Back to blog
Backend

Apa itu Indexing di Database SQL? Rahasia Query Super Cepat

Awalnya databasemu cepat, tapi setelah berisi 1 juta baris data, webmu mulai lemot? Inilah saatnya kamu menggunakan sihir bernama Database Indexing.

super admin·17 Juni 2026·2 min read
Apa itu Indexing di Database SQL? Rahasia Query Super Cepat
Article Content

Analogi Mencari Kata di Buku Kamus

Misalkan bosmu memberikan buku Kamus Bahasa Inggris setebal 2000 halaman. Bosmu menyuruhmu: "Tolong carikan arti kata 'Technology' dong!".

Jika kamu mencarinya secara Full Table Scan (Membaca Biasa), kamu akan membuka buku itu dari Halaman 1, lalu membaca baris per baris hingga Halaman 2000 sampai kamu menemukannya. Ini akan memakan waktu berjam-jam!

Tapi, kamu pintar. Kamu langsung membuka halaman Daftar Indeks (Daftar Isi Alfabet) di halaman paling belakang buku. Kamu langsung melompat ke huruf 'T', mencari kata 'Technology', dan disana tertulis "Lihat Halaman 1540". Kamu melompat ke halaman tersebut dalam waktu 5 detik!

Itulah tepatnya cara kerja Database Indexing di SQL.

Bagaimana Cara Menggunakannya di SQL?

Saat tabel Users-mu mencapai jutaan baris, melakukan fitur "Cari Email User" (SELECT * FROM users WHERE email = 'budi@mail.com') akan membebani RAM dan CPU servermu secara brutal.

Sebagai Backend Developer, kamu bisa memerintahkan mesin database untuk membuatkan "Daftar Isi Khusus" untuk kolom Email menggunakan perintah SQL ini:

CREATE INDEX idx_user_email ON users(email);

Begitu perintah ini dijalankan, MySQL/PostgreSQL akan membuat sebuah struktur data terpisah (biasanya berupa *B-Tree*). Setelah indeks ini aktif, query pencarian emailmu akan mendadak ribuan kali lebih cepat secara ajaib!

Jika Sangat Cepat, Kenapa Tidak Di-Index Semuanya Saja?

Awas! Inilah kesalahan umum *Junior Backend Developer*. Mereka menaruh Index di SEMUA kolom database (Kolom nama di-index, alamat di-index, umur di-index). Ini sangat mematikan!

Kembali ke analogi buku kamus: Jika kamu menambahkan kata baru (INSERT) atau mengedit kata yang sudah ada (UPDATE) di dalam bukumu, kamu juga harus menulis ulang dan merapikan halaman Daftar Indeks di belakang buku, bukan?

  • Index membuat operasi SELECT (Mencari) menjadi sangat cepat.
  • TAPI, Index membuat operasi INSERT, UPDATE, dan DELETE menjadi sangat LAMBAT! Karena setiap ada data yang ditambah, database harus bekerja ekstra merapikan struktur indeksnya.
  • Index juga memakan ruang kosong memori Hard Disk servermu.

Kesimpulan

Hanya pasang Index pada kolom yang Sangat sering dijadikan syarat pencarian (klausa WHERE), dan jarang mengalami perubahan. Kolom seperti Email, Username, atau Status Transaksi adalah kandidat sempurna untuk di-Index. Sedangkan kolom Alamat Rumah atau Bio Profil sebaiknya dibiarkan apa adanya.

Mau langsung pakai template?

Jelajahi template gratis dan premium di TampilKit untuk mempercepat proses development project kamu.

Browse Templates