Index adalah struktur data khusus di MySQL yang digunakan untuk mempercepat proses pencarian dan pengambilan data pada tabel.
Index bekerja mirip seperti indeks pada buku, yang membantu menemukan informasi dengan lebih cepat tanpa harus membaca seluruh isi tabel.
Index biasanya diterapkan pada kolom yang sering digunakan dalam:
WHEREJOINORDER BYGROUP BY
Contents
2. Membuat Index
Index dapat dibuat pada satu atau lebih kolom dalam tabel.
Sintaks membuat index:
CREATE INDEX nama_index
ON nama_tabel (nama_kolom);
Contoh membuat index:
CREATE INDEX idx_nama
ON mahasiswa (nama);
Setelah index dibuat, query pencarian berdasarkan kolom tersebut akan berjalan lebih cepat.
3. Unique Index
Unique Index adalah index yang tidak memperbolehkan nilai duplikat dalam kolom yang diindeks. Biasanya digunakan pada data yang bersifat unik seperti email atau username.
Sintaks Unique Index:
CREATE UNIQUE INDEX nama_index
ON nama_tabel (nama_kolom);
Contoh Unique Index:
CREATE UNIQUE INDEX idx_email
ON pengguna (email);
Jika ada data duplikat, MySQL akan menolak proses INSERT atau UPDATE.
4. Menghapus Index
Index dapat dihapus jika sudah tidak diperlukan atau jika ingin mengoptimalkan ulang struktur database.
Sintaks menghapus index:
DROP INDEX nama_index ON nama_tabel;
Contoh:
DROP INDEX idx_nama ON mahasiswa;
5. Pengaruh Index terhadap Performa
Keuntungan penggunaan index:
- Mempercepat proses pencarian data
- Meningkatkan performa query SELECT
- Mempercepat proses JOIN antar tabel
Kekurangan penggunaan index:
- Memperlambat INSERT, UPDATE, dan DELETE
- Menambah penggunaan ruang penyimpanan
- Index berlebihan dapat menurunkan performa
Kapan sebaiknya menggunakan index:
- Pada kolom yang sering digunakan untuk pencarian
- Pada kolom foreign key
- Pada tabel dengan jumlah data besar
6. Contoh Penggunaan Index dalam Query
SELECT * FROM mahasiswa WHERE nama = 'Andi';
Query di atas akan lebih cepat jika kolom nama sudah memiliki index.
Kesimpulan
Index merupakan salah satu fitur penting dalam optimasi database MySQL. Dengan penggunaan index yang tepat, performa query dapat meningkat secara signifikan. Namun, index harus digunakan secara bijak karena dapat mempengaruhi performa operasi manipulasi data dan penggunaan storage.