Database
Mengenal indeks MySQL lewat query sehari-hari
Pahami kapan indeks membantu pencarian dan cara memeriksa query dengan EXPLAIN.
Mulai dari pola akses
Indeks membantu database menemukan baris tanpa selalu membaca seluruh tabel. Bayangkan tabel artikel yang sering dicari berdasarkan slug.
CREATE TABLE articles (
id BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
slug VARCHAR(220) NOT NULL,
title VARCHAR(200) NOT NULL,
UNIQUE KEY articles_slug_unique (slug)
);
EXPLAIN SELECT title FROM articles
WHERE slug = 'belajar-indeks';
Baca rencana eksekusi
Kolom key pada hasil EXPLAIN menunjukkan indeks yang dipilih. Nilai rows merupakan estimasi jumlah baris yang diperiksa, bukan pengukuran waktu eksekusi.
Ada biaya penulisan
Setiap indeks memerlukan ruang dan pemeliharaan saat data berubah. Tambahkan indeks berdasarkan query yang sering dijalankan, kemudian ukur dampaknya menggunakan data yang mewakili penggunaan nyata.
Latihan
Isi tabel dengan beberapa artikel dan bandingkan query berdasarkan slug dengan query berdasarkan title. Perhatikan indeks yang digunakan pada masing-masing rencana eksekusi.
