Optimasi Query

Teknik optimasi dapat dilakukan dengan beberapa cara. Terdapat 2 pendekatan
optimasi yang umum digunakan sebagaimana diungkapkan oleh Chanowich (2001), yakni:
a. Heuristik atau rule-based
Teknik ini mengaplikasikan aturan heuristik untuk mempercepat 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
b. Cost-based
Teknik ini mengoptimasikan cost yang dipergunakan dari beberapa alternatif untuk
kemudian dipilih salah satu yang menjadi cost terendah. Teknik ini mengoptimalkan
urutan join terbalik yang dimungkinkan pada relasi-relasi r1  r2  ... rn. Teknik ini
dipergunakan untuk mendapatkan pohon left-deep join yang akan menghasilkan
sebuah relasi sebenarnya pada node sebelah kanan yang bukan hasil dari sebuah
intermediate join.
Data hasil query lebih dari kurang dari atau sama dengan 5165 record, penggunaan
query dengan cross product membutuhkan waktu yang lebih kecil dibanding dengan
metode subset query. Sebaliknya untuk data lebih besar dari 5165 record, penggunaan
subset query jauh lebih cepat disbanding dengan menggunakan cross product.
Desain aplikasi saja tidak cukup untuk meningkatkan unjuk kerja harus didukung
dengan optimasi dari perintah SQL yang digunakan pada aplikasi tersebut. Dalam
mendesain database, seringkali lokasi fisik data tidak menjadi perhatian penting.
Karena hanya desain logik saja yang diperhatikan. Padahal untuk menampilkan hasil
query dibutuhkan pencarian yang melibatkan struktur fisik penyimpanan data. Inti dari
optimasi query adalah meminimalkan “jalur” pencarian untuk menemukan data yang
disimpan dalam lokasi fisik. Index pada database digunakan untuk meningkatkan
kecepatan akses data. Pada saat query dijalankan, index mencari data dan menentukan
nilai ROWID yang membantu menemukan lokasi data secara fisik di disk. Akan tetapi
penggunaan index yang tidak tepat, tidak akan meningkatkan unjuk kerja dalam hal ini
kecepatan akses data.
Proses akses data akan lebih cepat jika data terletak pada block tabel yang berdekatan
daripada harus mencari di beberapa data file yang terletak pada block yang berbeda.

www.atmaluhur.ac.id

Komentar

Postingan populer dari blog ini

Data Mining

Apakah Big Data itu Penting? Untuk apa?

Query Optimizer