Indexing
index di sebuah tabel dalam database berfungsi untuk mempercepat proses searching data. ada berberapa jenis index, di antaranya adalah:1. avl-tree
2.b-tree
dan lain-lain.
di mysql, index yang digunakan secara default adalah b-tree. untuk type tabel innoDB, index disimpan di ibdata sedangkan untuk type tabel myISAM, index disimpan dalam file tersendiri dalam format .myd. index di tabel suatu database menyerupai tabel. hanya saja kalau tabel berisi kolom, tipe data dan sebagainya sedangkan index berisi kunci dan alamat dari kunci tersebut.
kapan index dipakai? index dipakai jika data dalam tabel sangat banyak misalnya
mencapai 100.000 lebih.
kenapa dipakai index?
jika kita melakukan searching suatu data,
misalnya dengan kata kunci where, maka query tersebut akan melakukan scanning terhadap setiap baris
data dalam tabel. misalnya di tabel ada 100.000 sedangkan data yang kita cari berada di posisi ke
90.000, maka proses pencarian data ini akan memakan waktu yang banyak karena proses ini akan
melakukan scanning terhadap 90.000 baris data. padahal data yang dicari cuma 1.
kapan index tidak
cocok dipakai?
ketika kita melakukan insert di tabel yang memiliki index, maka proses insert
tersebut sebenarnya melakukan 2 proses yaitu insert ke tabel utama dan insert ke tabel index. begitu
juga ketika kita mengupdate index, maka proses tersebut akan mengupdate tabel utama kemudian
mengupdate tabel index. nah, jika tabel terlalu sering diupdate, sebaiknya jangan dibuat index,
karena setiap kali update, maka index akan di tata ulang(dilakukan sorting ulang)