2. Index
Sebuah index adalah perangkat dari MySQL yang digunakan untuk mempercepat pencarian dan megurangi waktu yang
diperlukan untuk mengeksekusi query yang kompleks.
Index dapat mempengaruhi performansi dari operasi-operasi ang melibatkan modifikasi data dalam tabel, karena
1. Index harus di-update setiap kali tabel tersebut di-update.
2. Index memerlukan ruang penyimpanan tambaan. untuk table besar, dapat memakan cukup ruang dalam media
penyimpanan
3. Tipe Index
Type Data Deskripsi
Primary Key Setiap nilai atau kumpulan nilai dalam kolom-kolom harus unik dimana primary key ditentukan, nilai null
tidak diijinkan. juga, sebuah tabel dapat menyertakan satu primary key.
Foreign Key Memaksakan hubungan di antara kolom yang mereferensi dalam tabel anak dimana foreign key
didefinisikan dan kolom yang direferensi dalam tabel induk.
Regular Indeks dasar yang mengijinkan nilai kembar dan nilai null dalam kolom-kolom dimana index tersebut
didefinisikan.
Unique Setiap nilai atau kumpulan nilai dalam kolom harus unik dimana indeks tersebut didefinisikan. tidak
seperti index primary key, nilai null di sini diijinkan.
Full-text Mendukung pencarian nilai secara full-text di kolom dimana indeks didefinisikan. sebuah index full-text
mengijinkan nilai kembar dan nilai null dalam kolom-kolom tersebut. sebuah index full-text hanya dapat
didefinisikan pada kolom dengan type data CHAR, VARCHAR, dan TEXT
4. Membuat Index
CREATE TABLE pembelian (
IDPembelian SMALLINT UNSIGNED NOT NULL,
IDModel SMALLINT UNSIGNED,
DeskripsiModel VARCHAR(40),
PRIMARY KEY (IDPembelian),
UNIQUE (IDModel)
);
MySQL mendukung beberapa metode untuk menabahkan index dalam sebuah tabel. Anda dapat menyertakan index dalam
definisi kolom, anda dapat menggunakan pernyataan ALTER TABLE untuk menambahkan sebuah index ke sebuah tabel, atau
anda dapat menggunakan CREATE INDEX untuk menambahkan sebuah index ke sebuah tabel.
1. Membuat Index Unique
[CONTRAINT <constraint name>] UNIQUE [INDEX] [<index name>]
(<column name>[(,<column name>}..])
5. Membuat Index
CREATE TABLE pembelian (
IDPembelian SMALLINT UNSIGNED NOT NULL,
IDModel SMALLINT UNSIGNED,
DeskripsiModel VARCHAR(40),
PRIMARY KEY (IDPembelian),
INDEX (IDModel)
);
2. Membuat Index Reguler (NonUnique)
[INDEX | KEY [<index name>] (<column name>[(,<column name>}..])
Saat anda ingin mengindeks sebuah kolom namun anda tidak mensyaratkan bahwa nilai dalam kolom tersebut harus unique.
untuk situasi seperti itu anda dapat menggunakan sebuah regular index.
6. Membuat Index
CREATE TABLE pembelian (
IDPembelian SMALLINT UNSIGNED NOT NULL,
IDModel SMALLINT UNSIGNED,
DeskripsiModel VARCHAR(40),
PRIMARY KEY (IDPembelian),
FULLTEXT (DeskripsiModel)
);
3. Membuat Index Full-Text
FULLTEXT [INDEX] [<index name>] (<column name>[(,<column name>}..])
Sebuah full-text hanya dapat diterapkan pada kolom-kolom dengan tipe data CHAR, VARCHAR, dan TEXT. Sintaksnya :
7. Penambahan Index
CREATE TABLE pembelian (
IDPembelian SMALLINT UNSIGNED NOT NULL PRIMARY KEY ,
IDModel SMALLINT UNSIGNED,
DeskripsiModel VARCHAR(40),
);
Untuk menyertakan index dalam definisi tabel, anda dapat menambahkan sebuah index dalam tabe yang sudah dibuat.
Anda dapat menggunakan dua metode untuk menambahkan index, yaitu dengan pernyataan ALTER TABLE dan CREATE
INDEX
ALTER TABLE Pembelian
ADD UNIQUE (IDModel);
1. Penggunaan Pernyataan ALTER TABLE
CREATE [UNIQUE | FULLTEXT | INDEX] <index name>
ON <nama tabel> (<column name>[(,<column name>}..])
2. Penggunaan Pernyataan CREATE INDEX
CREATE INDEX index_1 ON Pembelian (IDModel);
8. Menghapus Index
CREATE TABLE pembelian (
IDPembelian SMALLINT UNSIGNED NOT NULL PRIMARY KEY ,
IDModel SMALLINT UNSIGNED,
DeskripsiModel VARCHAR(40),
UNIQUE unique_1 (IDModel)
);
Untuk menghapus index dalam tabel, anda dapat menggunakan dua cara, yaitu menggunakan pernyataan ALTER TABLE, dan
yang lainnya adalah menggunakan pernyataan DROP INDEX.
ALTER TABLE Pembelian
DROP INDEX unique_1;
1. Penggunaan Pernyataan ALTER TABLE
DROP INDEX <index name> ON <nama tabel>
2. Penggunaan Pernyataan DROP INDEX
DROP INDEX unique_1 ON Pembelian;