BAB 13: Index MySQL – Pengertian, Cara Membuat, Unique Index, dan Pengaruhnya terhadap Performa

BAB 13: Index MySQL – Pengertian, Cara Membuat, Unique Index, dan Pengaruhnya terhadap Performa

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:

  • WHERE
  • JOIN
  • ORDER BY
  • GROUP BY

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.