Optimasi Query
Optimisasi query mencoba memberikan suatu pemecahan untuk menangani
masalah tersebut dengan cara menggabungkan sejumlah besar teknik-teknik dan
strategi, yang meliputi transformasi-transformasi logika dari query-query untuk
mengoptimisasi jalan akses dan penyimpanan data pada sistem file. Setelah
ditransformasikan, sebuah query harus dipetakan ke dalam sebuah urut-urutan
operasi untuk menghasilkan data-data yang diminta.
Berikut penjelasan dari
masing-masing tahapan pada Optimasi Query :
- Scanner melakukan identifikasi (pengenalan) token-token seperti SQL keywords, attribute, dan relation name. Proses ini disebut dengan scanning.
- Query Parser mengecek kevalidan query dan kemudian menterjemahkannya ke dalam sebuah bentuk internal yaitu ekspresi relasi aljabar atau parse tree. Proses ini disebut dengan parsing.
- Query Optimizer memeriksa semua ekspresi-ekspresi aljabar yang sama untuk query yang diberikan dan memilih salah satu dari ekspresi tersebut yang terbaik yang memiliki perkiraan termurah. Dengan kata lain, tugas dari query optimizer adalah menghasilkan sebuah rencana eksekusi. Proses ini disebut dengan optimisasi query.
- Code Generator atau Interpreter mentransformasikan rencana akses yang dihasilkan oleh optimizer ke dalam kode-kode. Setelah itu, kode-kode tersebut dikirimkan ke dalam query processor untuk dijalankan.
- Query Processor melakukan eksekusi query untuk mendapatkan hasil query yang diinginkan.
SQL Tuning
SQL Tuning adalah aktivitas
mengoptimasi
dan menyamaratakan
performa
database. Database tuning biasanya
melengkapi
query tuning, tapi merujuk
pada desain
dari file
database, pemilihan
DBMS, sistem operasi,
dan CPU dimana
DBMS berjalan. Bagian yang perlu di tuning dan siapa yang melakukannya adalah
- Aplikasi > Developer.
- Database > Database Administrator (DBA)
- Sistem Operasi >System Administrator
- Memory
- I/O
- CPU
- Network
- Space Management
- Redo log dan checkpoint
- Rollback segment.
Untuk
mengurangi waktu
respon sistem
terhadap end user, atau
untuk mengurangi resource yang
digunakan untuk
memproses pekerjaan
yang sama.
Kita dapat memenuhi
kedua tujuan
ini dalam
beberapa cara, yaitu :
a. Mengurangi
Beban Kerja
(Reduce the Workload)
b. Menyeimbangkan
Beban Kerja
(Balance the Workload)
c. Memparalelkan
Beban Kerja
(Parallelize the Workload)
Tidak ada komentar:
Posting Komentar
Dilarang menggunakan kata-kata kotor.