1. Apa
yang anda ketahui tentang optimasi kueri?
Query optimization adalah
suatu proses untuk menganalisis query, menentukan sumber-sumber apa saja yang
digunakan oleh query tersebut dan apakah penggunaan dari sumber tersebut dapat dikurangi
tanpa merubah output. Query optimization dapat juga dikatakan sebuah prosedur
untuk meningkatkan strategi evaluasi dari suatu query untuk membuat evaluasi
tersebut menjadi lebih efektif, mencakup
beberapa Teknik seperti transformasi query ke dalam bentuk logika yang sama,
memilih jalan akses yang optimal dan mengoptimumkan penyimpanan data.
Tujuan dari query
optimization adalah menemukan jalan akses yang termurah untuk meminimumkan
total waktu pada saat proses sebuah query.
Optimisasi query mencakup
beberapa teknik seperti
transformasi query ke dalam bentuk logika yang sama, memilih
jalan akses yang optimal dan mengoptimumkan penyimpanan data.
2. Apa
yang anda ketahui tentang 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.
Bagian terpenting pada tuning performansi database system adalah Tuning SQL
statements. Adapun pada tuning SQL terdapat tiga langkah dasar :
- Identifikasi SQL statements yang memegang andil besar pada sharing workload aplikasi dan system resources, dengan me-review history SQL execution yang telah lampau yang tersedia pada system.
- Verifikasi bahwa execution plans yang diproduksi oleh query optimizer untuk statement-statement ini berjalan dengan baik.
- Mengimplementasi corrective actions untuk men-generate execution plans pada peformansi SQL statement yang buruk sehingga menjadi lebih baik.
Ketiga langkah di atas diulang
sampai performansi system mencapai tingkat kepuasan atau tidak ada lagi
statement yang dapat di-tuning
Tujuan
Tujuan dari tuning
sistem adalah 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:
- Mengurangi Beban Kerja (Reduce the Workload)
SQL Tuning secara umum melibatkan pencarian cara yang lebih efisien
untuk memproses beban kerja yang sama. SQL tuning memungkinkan untuk mengubah
rencana eksekusi dari suatu statement tanpa mengubah fungsionalitas
untuk mengurangi pemakaian resource
- Menyeimbangkan Beban Kerja (Balance the Workload)
Sistem cenderung memiliki penggunaan penuh pada siang hari ketika user
yang sebenarnya terhubung ke sistem dan penggunaan yang sedikit di malam hari.
Jika noncritical report dan batch job dapat dijadwalkan untuk
berjalan pada malam hari dan penggunaan sistem pada siang hari dikurangi, maka
hal tersebut dapat membebaskan resource agar dapat digunakan pada
program-program yang lebih penting pada siang hari.
Query-query yang mengakses sejumlah besar data (typical data warehouse
queries) sering dapat diparalelkan. Hal ini sangat berguna untuk mengurangi
waktu respon dalam data warehouse yang rendah konkurensinya. Akan tetapi, untuk
lingkungan OLTP, yang cenderung tingggi konkurensinya, hal ini dapat merugikan
user-user lain dengan meningkatkan penggunaan resource secara keseluruhan pada
program.
Komentar
Posting Komentar