Membuat Indeks di MySQL: Tutorial Indeks MySQL [2022]
Diterbitkan: 2021-01-01Ilmuwan Data atau programmer harus bekerja dengan data dalam jumlah besar dan harus dapat menanganinya secara efisien untuk eksekusi yang lebih cepat. Mereka juga perlu mengetahui bagaimana data diatur dan metode tercepat untuk dengan mudah mengakses data tertentu yang dibutuhkan.
Karena MySQL adalah sistem manajemen basis data relasional yang memiliki aplikasi di berbagai sektor seperti basis data web, aplikasi e-commerce, media sosial, dll. ilmuwan data perlu mengetahui semua teknik yang terkait dengan MySQL, salah satunya adalah indeks. Artikel ini menjelaskan cara membuat Indeks di MySQL.
Daftar isi
Apa itu Indeks?
Di MySQL, Indeks digunakan untuk mengurutkan data secara berurutan yang terorganisir dan mengambil data secara efisien dan cepat. Mereka dibuat dengan menggunakan satu atau beberapa kolom yang akan digunakan untuk memfilter data. Indeks adalah tipe tabel yang menyimpan bidang utama atau indeks dan penunjuk ke setiap catatan di tabel utama.
Untuk pemahaman yang lebih baik, indeks buku dapat digunakan sebagai contoh. Alih-alih mencari halaman dengan menelusuri semua halaman dalam buku, indeks buku dapat diperiksa untuk menemukan halaman yang dicari.
Di sebagian besar sistem basis data, diperlukan kinerja tinggi dan cepat. Banyak bisnis menginvestasikan sejumlah besar uang pada perangkat keras untuk pengambilan dan manipulasi data yang lebih cepat. Tetapi dengan mengoptimalkan database, biaya dapat dikurangi.
Waktu respons biasanya lebih lama karena catatan disimpan secara acak, dan kueri pencarian harus menemukan data yang dibutuhkan dengan mengulang seluruh catatan yang disimpan. Indeks membuat pencarian ini lebih mudah dan lebih cepat.

Baca: Ganti Nama Nama Kolom di SQL
Buat Indeks
Anda dapat membuat indeks di MySQL pada tabel dengan menggunakan sintaks dasar berikut.
CREATE INDEX index_name table_name (nama_kolom);
Anda juga dapat membuat indeks unik pada tabel. Ini berarti bahwa namanya unik, dan dua baris mana pun tidak boleh memiliki nama yang sama. Sintaks berikut dapat digunakan untuk ini.
BUAT INDEKS UNIK index_name PADA table_name (nama_kolom);
Jika indeks sekunder untuk kolom dibuat, MySQL menyimpan nilai dalam struktur data terpisah seperti B-Tree dan Hash. Di MySQL, jika kolomnya adalah kolom string, Anda dapat membuat indeks untuk bagian terdepan dari nilai kolom kolom string menggunakan sintaks:
kolom_nama(panjang)
Untuk membuat bagian kunci awalan kolom saat tabel dibuat, sintaks berikut dapat digunakan:
BUAT TABEL nama_tabel(
kolom_daftar,
INDEX(nama_kolom(panjang))
);
Dan untuk menambahkan indeks ke tabel yang ada:
CREATE INDEX index_name PADA table_name (nama_kolom (panjang));
Panjang di sini adalah jumlah karakter jika tipe string non-biner seperti CHAR, VARCHAR dan TEXT dan jumlah byte jika tipe string biner seperti BINARY, VARBINARY dan BLOB. Anda juga dapat membuat bagian kunci awalan kolom untuk kolom CHAR, VARCHAR, BINARY, dan VARBINARY di MySQL. Penting untuk menentukan bagian kunci awalan kolom jika Anda telah membuat indeks untuk kolom BLOB dan TEXT.
Dalam kasus indeks FULLTEXT yang hanya didukung untuk tabel InnoDB dan MyISAM, mereka hanya dapat menyertakan kolom CHAR, VARCHAR dan TEXT. Itu tidak mendukung pengindeksan awalan kolom dan jika ada panjang awalan yang ditentukan, itu akan diabaikan.
Harus Dibaca: Ide Proyek SQL
Mengubah tabel untuk menambah atau menghapus Indeks
Untuk menambahkan indeks ke tabel, ada empat jenis pernyataan yang dapat digunakan:
- Untuk menambahkan kunci utama:
ALTER TABLE table_name ADD PRIMARY KEY (column_list);

Nilai yang diindeks di sini harus unik dan tidak boleh NULL.
- Untuk indeks dengan nilai unik:
ALTER TABLE table_name ADD UNIQUE index_name (column_list);
Nilai harus unik, kecuali untuk NULL yang dapat muncul beberapa kali.
- Untuk menambahkan indeks biasa:
ALTER TABLE table_name ADD INDEX nama_indeks (daftar_kolom);
Di sini nilai dapat muncul lebih dari sekali.
- Untuk membuat indeks FULLTEXT khusus:
ALTER TABLE table_name ADD FULLTEXT index_name (column_list);
Indeks FULLTEXT dapat digunakan untuk tujuan pencarian teks.
Di tabel yang ada
Untuk menambahkan indeks dalam tabel yang ada, sintaks berikut dapat digunakan:
ALTER TABLE table_name ADD INDEX (nama_indeks);
Untuk menghapus indeks dalam tabel, pernyataan DROP INDEX digunakan:
ALTER TABLE table_name DROP INDEX (nama_indeks);
Tampilkan Informasi Indeks
Untuk membuat daftar semua indeks yang terkait dengan tabel apa pun, perintah SHOW INDEX digunakan.
TAMPILKAN INDEKS DARI table_name\G
'\G' digunakan untuk membuat daftar dalam format vertikal, ini menghindari sampul garis panjang.
Baca Juga: Pertanyaan & Jawaban Wawancara SQL
Indeks Turun
InnoDB dapat menyimpan entri dalam urutan menurun ketika indeks adalah indeks menurun. Jadi, ketika urutan menurun diminta dalam kueri, pengoptimal memilih indeks ini. Ini lebih efisien untuk kueri dengan klausa ORDER BY. Ini hanya didukung oleh mesin penyimpanan InnoDB.
Sintaks untuk membuat atau menambahkan indeks menurun seperti mengubah atau membuat sintaks yang digunakan di atas.
ALTER TABLE table_name ADD index_name (col1_name desc, col2_name asc);
CREATE INDEX index_name PADA table_name (col1_name desc, col2_name asc);
Indeks Tak Terlihat
Untuk menandai indeks sebagai tidak tersedia untuk pengoptimal kueri, indeks tak terlihat dapat digunakan. MySQL memperbarui indeks yang tidak terlihat ketika data dalam kolom yang terkait dengan indeks berubah. Indeks terlihat secara default dan untuk membuatnya tidak terlihat, Anda harus secara eksplisit mendeklarasikan visibilitas pada saat pembuatan atau dengan menggunakan perintah ALTER TABLE.
Untuk membuat indeks tak terlihat, sintaks berikut digunakan:
CREATE INDEX index_name PADA table_name (c1, c2…) TAK TERLIHAT;
Untuk mengubah visibilitas indeks yang ada, berikut sintaks yang digunakan:
ALTER TABLE nama_tabel ALTER INDEX nama_indeks [VISIBLE | TAK TERLIHAT];

Mendaftar di Kursus Pengembangan Perangkat Lunak Online dari Universitas top dunia. Dapatkan Program PG Eksekutif, Program Sertifikat Tingkat Lanjut, atau Program Magister untuk mempercepat karier Anda.
Kesimpulan
Kinerja permintaan pencarian MySQL dapat ditingkatkan dengan menggunakan Indeks. Ini dapat ditentukan ketika tabel dibuat atau dapat ditambahkan nanti jika tabel sudah dibuat.
Artikel ini memberikan deskripsi singkat tentang apa itu indeks dan mengapa indeks digunakan. Bagian selanjutnya menjelaskan cara membuat indeks di MySQL, cara menambahkannya ke tabel yang ada, dan cara membuat indeks unik.
Perintah yang berbeda untuk mengubah tabel dan membuat atau menjatuhkan indeks juga dijelaskan bersama dengan menampilkan informasi indeks. Indeks turun dan tidak terlihat juga dijelaskan secara singkat.
Secara keseluruhan, mempelajari dan mendapatkan praktik langsung di semua basis data yang disebutkan dalam artikel ini akan menambah pengalaman Anda. Pelajari ikhtisar kursus, pembelajaran, dan peluang kerja yang terkait dengannya—platform seperti upGrad menawarkan kursus penuh daya yang dirancang oleh lembaga yang sangat bereputasi seperti IIIT-B dalam Pengembangan Penuh Stack Program PG Eksekutif.
