Senin, 25 November 2019

Optimasi Query dan SQL Tuning

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 :
  1. Scanner melakukan identifikasi (pengenalan) token-token seperti SQL keywords, attribute, dan relation name. Proses ini disebut dengan scanning. 
  2. 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. 
  3. 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. 
  4. 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. 
  5. 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 
  1. Aplikasi > Developer.
  2. Database > Database Administrator (DBA)
  3. Sistem Operasi >System Administrator
Bagian database yang perlu di tuning :
  1. Memory
  2. I/O
  3. CPU
  4. Network
  5. Space Management
  6. Redo log dan checkpoint
  7. Rollback segment.
Tujuan :
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.

Teori Komputasional dan Implementasi Di Bidang Lain

  Pengertian Komputasi Komputasi sebetulnya bisa diartikan sebagai cara untuk menemukan pemecahan masalah dari data input dengan menggunakan...