JustPaste
JustPaste
Web Development 22 Februari 2026 1 menit baca 1.425 views Regi Pratama

Database Indexing: Kenapa Query Anda Lambat dan Cara Memperbaiknya

Query lambat sering kali bukan masalah server, tapi kurangnya atau salahnya penggunaan index.

Cara Kerja Index

Index adalah struktur data terpisah (biasanya B-tree) yang menyimpan pointer ke baris data. Tanpa index, database melakukan full table scan — membaca setiap baris.

Kapan Tambah Index?

Kandidat kolom yang perlu diindex:

  • Kolom dalam klausa WHERE yang sering dipakai

  • Kolom JOIN

  • Kolom ORDER BY pada query penting

  • Foreign keys

Jenis Index

-- Single column index
CREATE INDEX idx_email ON users(email);

-- Composite index CREATE INDEX idx_user_created ON posts(user_id, created_at);

-- Unique index CREATE UNIQUE INDEX idx_slug ON posts(slug);

-- Full-text index CREATE FULLTEXT INDEX idx_content ON posts(title, content);

Composite Index — Urutan Kolom Penting

Rule of thumb: kolom dengan selectivity tinggi (banyak distinct value) di depan, kecuali ada kolom equality filter.

Query Slow? Gunakan EXPLAIN

EXPLAIN SELECT * FROM posts
WHERE status = 'published'
AND created_at > '2024-01-01'
ORDER BY views DESC;

Perhatikan kolom type — hindari ALL (full scan), targetkan ref atau range.

Di Laravel

// Migration
$table->index(['status', 'published_at']);
$table->index(['user_id', 'created_at']);

Bagikan artikel ini: