APA ITU INDEKS
indeks dalam database dapat diumpamakan seperti indeks dalam sebuah buku yang tebal, sehingga item tertentu dapat ditemukan dengan cepat. Sebuah indeks dalam basis data berfungsi untuk mempercepat pencarian data berdasarkan kolom tertentu. Misal sebuah perintah
SELECT * FROM pegawai WHERE nip =’1234567’;
jika nip tidak dijadikan indeks, maka pencarian data akan dilakukan pada seluruh tabel, dapat dianalogikan seperti mencari sesuatu dalam sebuah buku dan buku tersebut tidak dilengkapi dengan indeks. Tetapi jika terdapat indeks yang berkaitan dengan nip maka akan ditemukan lebih cepat. Indeks nip hanya berguna jika dilakukan pencarian yang berhubungan dengan nip, jika pencarian yang dilakukan adalah nama pegawai maka indeks nip tidak akan berguna.
Indeks memang membantu dalam hal kecepatan dalam pencarian data, tetapi tidaklah baik jika membuat indeks untuk semua kolom. Indeks membutuhkan ruang (space) pada basis data karena indeks merupakan objek tersendiri yang terpisah dari tabel. Selain itu indeks dapat membebani proses pemutakhiran data dalam tabel, karena setiap kali data berubah maka indeks juga akan berubah hal ini akan memperlambat proses pemutakhiran data(UPDATE, INSERT, DELETE) dalam basisdata.
MEMBUAT INDEKS
indeks dapat diciptakan pada sebuah tabel yang sudah dibuat, dengan menggunakan perintah CREATE INDEX maka indeks dapat ditambahkan pada sebuah tabel. Misalnya telah dibuat sebuah tabel ‘pelamar’ :
CREATE TABLE pelamar (
nama CHAR (20) NOT NULL,
no_tes CHAR(3) NOT NULL);
pada MySQL, kolom yang diindeks harus dalam keadaan NOT NULL. Kolom no_tes dapat dijadikan indeks dengan memberikan perintah berikut :
CREATE INDEX no_tes_idx
ON pelamar (no_tes) ;
no_tes_idx adalah nama indeks yang dibuat
pelamar adalah nama tabel
no_tes adalah kolom pada tabel pelamar yang akan di ideks
MENGHAPUS INDEKS
perintah yang digunakan untuk menghapus indeks adalah DROP INDEX, contoh :
DROP INDEX no_tes_idx ;
pada MySQL format perintahnya adalah
DROP INDEX nama_indeks ON nama_tabel ;
MEMBUAT INDEKS YANG UNIK
Pada contoh CREATE INDEX di atas, indeks yang terbentuk bisa menerima nilai yang sama dan tentu akan menyebabkan duplikasi. Untuk mencegah duplikasi maka indeks yang dibuat harus bersifat unik. Caranya adalah dengan menambahkan perintah UNIQUE, misalnya :
CREATE UNIQUE INDEX no_tes_idx
ON pelamar (no_tes) ;
dengan menggunakan perintah di atas maka dipastikan indeks yang dibuat tidak akan bisa menerima nilai yang sama.
MEMBUAT INDEKS BERDASARKAN BEBERAPA KOLOM
Indeks tidak hanya bisa dibuat pada sebuah kolom tetapi juga bisa dibuat menggunakan bebetapa buah kolom, dengan cara menyebutkan kolom-kolom yang akan dijadikan indeks.
ON nama_tabel (kolom1,kolom2,…) ;
contoh, dibuat dahulu sebuah tabel sebagai berikut :
CREATE TABLE nilai (
no_mhs CHAR (5) NOT NULL,
kode_mkuliah CHAR (5) NOT NULL,
nilai CHAR ) ;
Kemudian indeks dengan beberapa kolom dapat dibuat sebagai berikut :
CREATE UNIQUE INDEX nilai_idx
ON nilai (no_mhs, kode_mkuliah) ;
dengan perintah di atas maka indeks nilai_idx terbentuk dari kolom no_mhs dan kode_mkuliah.
Reference :
Abdul Kadir, Penuntun Praktis Belajar SQL, Penerbit Andi, Yogyakarta, 2002
Popularity: 1% [?]

Recent Comments