Bagaimana dan Kapan Membuat Indeks di MySQL

Bagaimana dan Kapan Membuat Indeks di MySQL

Dalam hal pengoptimalan kinerja untuk database MySQL, membuat indeks adalah salah satu cara terbaik. Indeks SQL membantu meningkatkan kinerja database dengan menyediakan akses cepat ke data yang disimpan dalam database.

Indeks SQL tidak jauh berbeda dari indeks buku biasa dengan daftar informasi yang dikuratori dan di mana Anda dapat menemukannya.

Dalam tutorial ini, kita akan membahas kapan harus membuat indeks SQL karena, meskipun indeks dapat membantu mengoptimalkan kinerja, mereka juga dapat menyebabkan kinerja yang lambat dan dampak negatif lainnya. Kami juga akan membahas cara membuat indeks menggunakan database nyata.

Mari kita mulai:

Kapan Membuat Indeks Di MySQL?

Sayangnya, saya tidak punya jawaban langsung kapan Anda harus membuat file index. Namun, beberapa skenario dan faktor dapat mempengaruhi pembuatan indeks. Baik untuk dicatat bahwa Anda mungkin harus melakukan beberapa pertukaran saat membuat indeks

  1. High Accessibility: Jika Anda memiliki tabel atau kolom yang diakses secara teratur, Anda dapat meningkatkan kinerjanya dengan membuat indeks.
  2. Size:Ukuran data yang disimpan dalam tabel atau kolom mungkin juga berperan dalam memutuskan kapan indeks diperlukan. Sebuah tabel besar dapat mengambil manfaat lebih dari indeks dari tabel yang lebih kecil.
  3. Index Key:Tipe data dari kunci integer juga merupakan faktor. Misalnya, bilangan bulat adalah kunci indeks yang jauh lebih baik karena ukurannya yang kecil.
  4. CRUD Operations: Jika Anda memiliki tabel atau kolom dengan jumlah operasi CRUD yang lebih tinggi, pengindeksan tabel atau kolom tersebut mungkin tidak bermanfaat dan dapat berdampak negatif pada kinerja database.
  5. Database Size: Pengindeksan adalah struktur data yang akan menempati ruang di database Anda, yang dapat menjadi faktor, terutama di database yang sudah besar.

Di atas adalah beberapa konsep kunci yang mungkin ikut bermain ketika memutuskan kapan membuat indeks database.

Jika Anda ingin mempelajari lebih lanjut tentang bagaimana MySQL menggunakan indeks, pertimbangkan untuk membaca sumber daya yang disediakan di bawah ini:

https://dev.mysql.com/doc/refman/8.0/en/mysql-indexes.html

Penggunaan Indeks MySQL Dasar

Secara default, setelah Anda membuat tabel dengan kunci utama, MySQL secara otomatis membuat indeks khusus yang disebut PRIMARY, yang disimpan dengan data. Ini biasanya dikenal sebagai indeks berkerumun.

Untuk membuat indeks di MySQL, kita dapat menggunakan sintaks yang ditunjukkan di bawah ini:

CREATE INDEX index_name ON tbl_name (cols);

Kita mulai dengan memanggil klausa CREATE INDEX, diikuti dengan nama indeks yang ingin kita buat. Kami kemudian menentukan tabel di mana indeks berada dan akhirnya kolom.

Anda juga dapat membuat indeks saat membuat tabel, seperti yang ditunjukkan pada sintaks di bawah ini:

CREATE TABLE tbl_name (col1, col2, col3, INDEX(col1, col2));

CATATAN : Jenis indeks MySQL default adalah BTREE kecuali ditentukan secara eksplisit.

Contoh Kasus useran

Menggunakan contoh, izinkan saya untuk mengilustrasikan bagaimana kita dapat membuat indeks untuk tabel tertentu untuk meningkatkan kinerja.

Saya akan menggunakan tabel film di database karyawan. Anda dapat menemukan sumber daya dari halaman sumber daya di bawah ini:

https://dev.mysql.com/doc/index-other.html

Pertama, mari kita lihat proses di balik layar yang digunakan MySQL untuk memproses pernyataan SELECT sederhana di mana jenis kelaminnya sama dengan F.

EXPLAIN SELECT emp_no, first_name, last_name FROM employees WHERE gender = 'F';

Mengingat ukuran tabel dan data yang ditanyakan, pemindaian lebih dari 200.000 baris tidak terlalu efisien. Dalam hal ini, kita dapat mengurangi nilai ini dengan membuat file index.

Untuk membuat indeks, kita dapat melakukan:

CREATE INDEX gender on employees(gender);

Setelah indeks dibuat, MySQL akan memindai nilai seperti yang ditunjukkan pada output di atas.

Kesimpulan

Saya harap tutorial ini memberi Anda pemahaman yang lebih dalam tentang useran indeks MySQL untuk meningkatkan kinerja database.

Terima kasih telah membaca.

Related Posts