Perkembangan aplikasi sistem informasi saat ini lebih cenderung ke client server, web base dan bahkan ke arah mobile aplication. Aplikasi-aplikasi ini akan mengakses basis data secara bersama-sama sehingga diperlukan kecepatan akses yang cukup tinggi. Data yang tersimpan dalam database semakin lama akan semakin besar ukuran atau volumenya. Kalau tidak didukung dengan kecepatan akses yang memadai maka akan semakin menurun unjuk kerjanya. Ukuran unjuk kerja dalam hal ini kecepatan akses data dipengaruhi oleh banyak faktor. Dalam system basis data relasional sering terjadi dibutuhkan pengaksesan data terhadap beberapa tabel sekaligus. Ada beberapa cara dalam melakukan akses ini, namun perlu diperhatikan cara mana yang paling optimal sehingga diperoleh kecepatan akses tertinggi.
Query optimisasi meurpakan sebuah proses memilih query yang plaing efisien dari banyak startegi pengaksesan query, khususnya untuk query yang kompleks. Dalam mendapatkan query yang efisien pemeriksaan dilakukan mulai dari epemeriksaaan akses path yang mungin (primary index akases, secondary indeks aksess, dan full file scan), dan juga variasi teknik join tabel relasional. Tujuan dari optimasisi adalah untuk mengurangi sebanyak mungkin tuple atau baris yang tidak dibutuhkan. Jika kita sudah memiliki query, maka kita bisa mengoptimasi query dengan cara mentransform queyr tersebut. Untuk memeriksa apakah query yang dioptimasi hasilnya sama dengan query yang biasa, ada beberapa rules equivalence. Rule equivalence ini juga bisa sebagai langkah awal untuk mentransform query sehingga lebih efisien. Berikut adalah beberap rule equivalence yang bisa digunakan:
1. Operasi seleksi konjungtif dapat didekonstruski menjadi sekumpulan seleksi individual
2. Operasi seleksi adalah komutatif
3. Hanya operasi final dari operasi sequence proyeksi yang dibutuhkan, yang lainnya dapat diabaikan
4. Seleksi dapat dikombinasikan dengan cartesian product dan theta join
5. Operasi Theta join komutatif
6. Operasi Seleski dapat didistributsikan dinatara operasi union intersection dan set difference
7. Sekumpulan union dan intersection asosiatif
8. Operasi Join didistributsikan dinatara operasi union
PEMBAHASAN
Jika kita diberikan SQL query maka dimungkinkan ada lebih dari satu query aljabar. Beberapa dari query aljabar dibandingkan dengan query alajbar yang lain. Kualitas dari query aljabar ditentukan oleh performansi yang terbaik. Query tersebut kemudian ditransformasikan menggunakan aturan-aturan transformasi aljabar, menjadi query aljabar yang terbaik nantinya. Aljabar query yang terbaik ini dinilai berdasarkan cost function dengan menghitung cost yang terjadi pada saat eksekusi query tersebut. Proses inilah yang disebut query optimisasi.
Tujuan dari query optimisasi adalah :