MySQL – Menciptakan / Menghapus Indeks


Indeks dalam MySQL diperlukan terutama pada field-field yang sering muncul dalam klausa WHERE, yang bertujuan untuk mempercepat pengambilan data. Adapun perintah SQL yang digunakan untuk membuat indeks adalah CREATE INDEX dan CREATE UNIQUE INDEX.

Contoh berikut menunjukkan pembuatan indeks pada field penulis.

CREATE UNIQUE INDEX penulis ON penulis (penulis);

Perintah diatas digunakan untuk mengatur agar isi penulis tidak ada yang kembar, jadi indeks tersebut tidak dimaksudkan untuk mempercepat pengambilan data. Kata UNIQUE itulah yang menyatakan bahwa isi field harus bersifat unik.

Adapun contoh berikut menunjukkan pembuatan tabel bernama BUKU dan diikuti dengan pembuatan indeks untuk field kd_jenis, kd_penulis, dan kd_penerbit.

CREATE TABLE buku (

no_buku INT(5) UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT,

isbn CHAR(15) NOT NULL,

kd_jenis CHAR(4) NOT NULL,

judul VARCHAR(50) NOT NULL,

kd_penulis CHAR(5) NOT NULL,

kd_penerbit CHAR(5) NOT NULL,

thn_terbit CHAR(4) NOT NULL,

jml_buku INT(5),

rak_buku VARCHAR(10),

tgl_entry DATE,

PRIMARY KEY (no_buku)

);

CREATE INDEX kd_jenis ON buku (kd_jenis);

CREATE INDEX kd_penulis ON buku (kd_penulis);

CREATE INDEX kd_penerbit ON buku (kd_penerbit);

Untuk menghapus suatu indeks dalam tabel, Anda perlu menyebutkan nama indeks dan nama tabel dalam perintah DROP INDEX. Contoh :

DROP INDEX kd_jenis ON buku;

akan menghapus indeks bernama idx_kd_jenis pada tabel BUKU.