Indexing database untuk performa query.

Dalam membangun sebuah website database adalah punya peran yang sangat penting. Salah satu yang perlu diperhatikan saat membuat struktur database pada aplikasi adalah indexing table. Indexing ini banyak dilupakan, padahal sangat besar pengaruhnya dalam performa query, terutama query SELECT.

Yang perlu kita ingat saat membuat sebuah table database adalah field apa yang nanti bakal jadi acuan query. Jadi acuan query maksudnya field itu jadi acuan saat query SELECT dengan syntax WHERE, ORDER BY, GROUP BY. Field yang jadi acuan syntax-syntax tersebut mutlak harus diindex.

Kita ambil contoh, table sebagai berikut:

nama table : artikel
`id` int(11) auto_increment-primary
`idrubrik` smallint(6)
`judul` varchar(255)
`subjudul` varchar(255)
`summary` varchar(255)
`isi` text
`penulis` varchar(100)
`tanggalsistem`
`tanggalberita`
`headline` char(1)
`remark` varchar(100)

Dari table di atas yang perlu di index adalah field :

  • idrubrik, karna akan ada query listing berita dengan idrubrik tertentu
  • judul, mungkin akan ada query mencari judul yang mirip dengan suatu kata
  • tanggalberita, karna semua query berita biasanya order by tanggalberita
  • untuk field isi harus dipertimbangkan, akan adakah pencarian di field ini, jika ada harus diindex juga dengan metode fulltext-index, karena tipe data text.
  • untuk id, tidak perlu diindex karena primary key otomatis terindex.

Jadi dalam kita menentukan field mana yang akan diindex, kita harus pertimbangkan di aplikasi nanti field tersebut jadi acuan query atau tidak.

index sangat baik dilakukan untuk table yang banyak dibaca sedikit ditulis, misalnya table berita suatu portal. Karena untuk record yang sangat banyak penulisan index juga makan resources.

Aplikasi yang baik seharusnya menentukan dengan jelas table akan banyak dibaca atau akan banyak ditulis, karna sangat berpengaruh pada indexing dan perlakuan aplikasi terhadap table.

Tentang Del Prio
Saling berbagi, saling memberi, saling menerima. (^.~)v Saling silang tapi bukan kawin silang (^,^)

6 Responses to Indexing database untuk performa query.

  1. manroenisti says:

    Mantap infox gan!!
    Salam Hangat
    http://www.inter.co.nr

  2. daffyndra says:

    Bagus juga..boleh tuh kalo mo ngajarin kita..hehehehe tx ya

  3. Mas Wawa says:

    mantep mantep mantep mantep.
    gek golek bojo kang 😛

Tinggalkan Balasan ke daffyndra Batalkan balasan