Optimasi Queri dan SQL Tuning
Optimasi Queri
Optimasi Queri adalah suatu proses untuk menganalisa queri dalam menentukan sumber apa saja yang digunakan dan apakah penggunaan dari sumber tersebut dapat dikurangi tanpa
merubah output. Atau dapat dikatakan sebagai sebuah prosedur untuk meningkatkan strategi evaluasi dari suatu queri untuk
membuat evaluasi tersebut menjadi lebih efektif. Optimisasi query mencakup beberapa
teknik seperti transformasi queri ke dalam bentuk logika yang sama, memilih
jalan akses yang optimal dan mengoptimumkan penyimpanan data.
Arti lain dari Optimasi queri adalah bagian dasar dari sebuah sistem
database dan merupakan suatu proses untuk menghasilkan rencana akses
yang efisien dari sebuah queri di dalam sebuah database. Secara tidak
langsung, sebuah rencana akses merupakan sebuah strategi yang akan
dijalankan untuk sebuah queri, untuk mendapatkan kembali operasi-operasi yang
apabila dijalankan akan menghasilkan database record queri. Ada tiga aspek dasar
yang ditetapkan dan mempengaruhi optimisasi query, yaitu : search space, cost
model dan search strategy. Berikut beberapa ringkasan optimasi queri yang dapat dilakukan :
- Gunakan kode seragam di seluruh aplikasi standar
- Hindari ketidakcocokan jenis data untuk indeks kolom
- Hindari fungsi pada kolom indeks
- Pindahkan kondisi dari klausa HAVING ke klausa WHERE
- Gunakan joins bukan nested selects, jika memungkinkan
- Mengganti Not IN dengan Not EXISTS atau OUTER JOIN
- Gunakan bulk inserts pada insert banyak records
- Gunakan klausa BULK COLLECT pada fetching records
SQL Tuning
Menurut Immanuel Chan (2008, p11-1), SQL Tuning adalah sebuah proses optimasi dengan cara mengubah perintah-perintah SQL serta menentukan teknik indexing agar SQL tersebut bekerja secara optimal.
Langkah -Langkah SQL Tuning
Langkah pertama yang harus dilakukan untuk melakukan SQL Tuning adalah melakukan identifikasi terhadap High-Load SQL Statements. High-Load SQL Statements adalah query yang membebani server sehingga menyebabkan kinerja sebuah basis data menjadi lambat dan menghabiskan penggunaan sumber daya yang besar dari sistem. Sekalipun optimasi telah dilakukan pada basis data, namun penggunaan SQL yang tidak optimal akan menyebabkan performa basis data menurun. Melakukan identifikasi query ini merupakan aktivitas yang penting dari sebuah proses SQL Tuning, yang telah diotomatisasi dengan fitur ADDM (Automatic Database Diagnostic Monitor) pada Enterprise Manager Oracle 10g. Melakukan identifikasi High-Load SQL Statements merupakan sebuah aktivitas yang penting dari sebuah proses SQL tuning. Oracle 10 g telah melakukan otomatisasi hal ini dengan fitur ADDM (Automatic Database Diagnostic Monitor) atau dengan menggunakan Entreprise Manager untuk mencari High-Load SQL Statements tersebut. Ada 2 cara untuk melakukan identifikasi High-Load SQL Statements r, yaitu dengan menggunakan ADDM dan Top SQL.
- Identifikasi High-Load SQL Statements dengan menggunakan ADDM, Secara default, ADDM berjalan secara otomatis setiap jam dan melakukan analisa data yang dikumpulkan dari AWR (Automatic Workload Repository) untuk mengidentifikasi masalah pada kinerja basis data melalui snapshot. Dalam hal ini mencakup High-Load SQL Statements. Ketika terdapat masalah pada kinerja basis data, ADDM akan menampilkan permasalahan tersebut pada halaman ADDM dan memberikan rekomendasi untuk setiap masalah yang ditemukan. Sebagai contoh, ketika sebuah High- Load SQL Statements ditemukan, ADDM akan memberikan rekomendasi untuk menggunakan SQL Tuning Advisor untuk perintah SQL tersebut.
- Identifikasi High-Load SQL Statements dengan menggunakan Top SQL, Selain menggunakan ADDM. Oracle juga menyediakan sebuah fitur untuk melihat High-Load SQL Statements. Fitur yang disediakan oleh Oracle ini adalah sebuah halaman Top Activity yang terdapat pada Entreprise Manager
Sumber :
SN, Slamet. 2019. PENGENALAN PROSES DAN OPTIMISASI QUERY. URL : http://dinus.ac.id/repository. Diakses Pada: 19 Desember 2019.Admin. 2017 . 8 Tips Optimasi Query untuk Mempercepat Pengaksesan Data pada Oracle . URL : https://www.i-3.co.id/2017/. Diakses pada 20 Desember 2019.
Root. 2018. Tuning SQL. URL : https://bundet.com/pub. Diakses pada 20 Desember 2019.
Comments
Post a Comment