Optimasi Database SQL Dengan INDEX

Posted by Admin on 3 Oktober 2020, 18:27:52 KATEGORI : Database TAG : database, index, optimasi database, optimasi sql

Indeks adalah tabel pencarian khusus yang dapat digunakan mesin pencari database untuk mempercepat pengambilan data. Sederhananya, indeks adalah penunjuk ke data dalam tabel. Indeks dalam database sangat mirip dengan indeks di bagian belakang buku.

Misalnya, jika Anda ingin mereferensikan semua halaman dalam sebuah buku yang membahas topik tertentu, pertama-tama Anda merujuk ke indeks, yang mencantumkan semua topik menurut abjad dan kemudian dirujuk ke satu atau beberapa nomor halaman tertentu.

Indeks membantu mempercepat kueri SELECT dan klausa WHERE , tetapi memperlambat input data, dengan pernyataan UPDATE dan INSERT . Indeks dapat dibuat atau dihapus tanpa berpengaruh pada data.

Indeks juga dapat dibuat unik, seperti constraint UNIQE, di mana indeks mencegah entri duplikat dalam kolom atau kombinasi kolom yang memiliki indeks.

Perintah CREATE INDEX

Indeks Kolom Tunggal

Indeks satu kolom dibuat hanya berdasarkan satu kolom dari tabel. Sintaks dasarnya adalah sebagai berikut.

CREATE INDEX index_name ON table_name (column_name);

Indeks Unik

Indeks unik digunakan tidak hanya untuk kinerja, tetapi juga untuk integritas data. Indeks unik tidak mengizinkan nilai duplikat dimasukkan ke dalam tabel. Sintaks dasarnya adalah sebagai berikut.

CREATE UNIQUE INDEX index_name on table_name (column_name);

Indeks Komposit

Indeks komposit adalah indeks pada dua atau lebih kolom dari sebuah tabel. Sintaks dasarnya adalah sebagai berikut.

CREATE INDEX index_name on table_name (column1, column2);

Apakah akan membuat indeks kolom tunggal atau indeks komposit, pertimbangkan kolom yang mungkin sangat sering Anda gunakan dalam klausa WHERE kueri sebagai kondisi filter.

Jika hanya ada satu kolom yang digunakan, indeks satu kolom harus menjadi pilihan. Jika ada dua atau lebih kolom yang sering digunakan di klausa WHERE sebagai filter, indeks komposit akan menjadi pilihan terbaik.

Perintah DROP INDEX

Indeks dapat dihapus menggunakan perintah SQL DROP. Sintaks dasarnya adalah sebagai berikut

DROP INDEX index_name;

Kapan indeks harus dihindari?

Meskipun indeks dimaksudkan untuk meningkatkan kinerja database, ada kalanya indeks harus dihindari. Berikut aturan yang menunjukkan kapan penggunaan indeks harus dihindari

  • Indeks tidak boleh digunakan pada tabel kecil.
  • Tabel yang sering melakukan pembaruan batch besar atau operasi penyisipan.
  • Indeks tidak boleh digunakan pada kolom yang berisi nilai NULL dalam jumlah tinggi.
  • Kolom yang sering dimanipulasi tidak boleh diindeks.

Referensi

  • https://www.tutorialspoint.com/sql/sql-indexes.htm