pada postingan kali ini akan membahas tentang optimasi query. untuk lebih lanjut baca ringkasan dibawah ini
Teknik optimasi umumnya dapat dilakukan dengan beberapa cara. Terdapat dua cara pendekatan optimasi yang umum digunakan saat ini sebagaimana diungkapkan oleh Chanowich (2001), yakni:
a. Heuristik atau rule-based
Teknik ini mengaplikasikan aturan heuristik agar terjadi keefektifan dalam proses query. Optimasi jenis ini mentransformasikan query dengan sejumlah aturan yang akan meningkatkan kinerja eksekusi, yakni:
⦁ melakukan operasi selection di awal untuk mereduksi jumlah baris
⦁ melakukan operasi projection di awal untuk mereduksi jumlah atribut
⦁ mengkonversikan query dengan banyak join menjadi query dengan banyak subquery
⦁ melakukan operasi selection dan join yang paling kecil keluarannya sebelum operasi lain
a. Cost-based
Teknik ini mengoptimasikan cost yang dipergunakan dari beberapa alternatif untuk kemudian dipilih salah satu yang menjadi cost terendah. Teknik ini dapat mengoptimalkan urutan join terbalik yang dimungkinkan pada relasi-relasi r1 ke r2 ke ... rn. Teknik ini dipergunakan untuk mendapatkan pohon left-deep join yang akan menghasilkan sebuah relasi pada node sebelah kanan yang bukan hasil dari sebuah intermediate join.
selain teknik diatas terdapat juga teknik optimasi lainnya seperti
- Join ordering merupakan aspek yang penting dalam suatu optimasi query, terlebih pada query terdistribusi. Join ordering menjadi lebih penting ketika query merupakan query terdistribusi karena akan mempengaruhi communication time.Join ordering dapat dilakukan secara langsung, maupun dengan mengombinasikan dengan semijoins di mana akan meminimalisasi communication cost.
- Fungsi objektif dari algoritma ini adalah untuk meminimalisasi kombinasi baik communication time maupun response time. Algoritma ini juga mendapat keuntungan pada fragmentasi, tetapi hanya fragmentasi horizontal.Input untuk algoritma pemrosesan query ini dinyatakan dalam calculus relational-tupel dan skema informasi (tipe network, lokasi dan ukuran masing-masing site).
- Algoritma Sistem R
Sistem R merupakan optimasi query statis yang didasarkan pada exhaustive search dari ruang solusi yang ada. Input untuk optimizer dengan sistem R adalah pohon relasi aljabar yang dihasilkan dari dekomposisi dari sebuah query SQL. Kemudian output dari sistem merupakan rencana eksekusi yang mengimplementasikan pohon relasi aljabar yang optimal. Optimizer menetapkan biaya (dalam hal waktu) dari masing-masing pohon kandidat dan mempertahankan pohon dengan biaya yang terkecil. - Algoritma INGRES
Algoritma INGRES menggunakan algoritma optimasi dinamis yang memecah query kalkulus ke dalam bagian yang lebih kecil secara rekursif. Mengombinasikan dua tahapan yaitu dekomposisi dan optimasi kalkulus-aljabar.