1. Menurut anda pentingkan melakukan optimasi query
dalam memanajemen database?
Optimasi Queri adalah suatu proses untuk menganalisa query untuk menentukan
sumber-sumber apa saja yang digunakan oleh query tersebut dan apakah penggunaan
dari sumber tersebut dapat dikurangi tanpa merubah output. Atau bisa juga
dikatakan bahwa optimisasi query adalah sebuah prosedur untuk meningkatkan
strategi evaluasi dari suatu query untuk membuat evaluasi tersebut menjadi
lebih efektif.
Tujuan dari optimisasi query adalah berbeda-beda
untuk setiap sistem. Ada yang menggunakan optimisasi query untuk meminimumkan
waktu proses sedangkan pada situasi lain bisa juga optimisasi query diperlukan
untuk waktu respon, meminimumkan I/O dan meminimumkan penggunaan memory. Tetapi
pada dasarnya, tujuan dari optimisasi query adalah menemukan jalan akses yang termurah
untuk meminimumkan total waktu pada saat proses sebuah query.
Jadi, optimasi query penting apabila database yang
kiap una banyak dan terus menerus berkembang atau bertambah terus menerus maka
di perlukan optimasi yang dapat berfungasi untuk meminimumkan penggunaan memory
agar memory yang dipakai efektif serta meminimalkan “jalur”
pencarian untuk menemukan data yang disimpan dalam memory.
2. Buat ringkasan dari materi SQL Tuning atau Optimasi
Queri!
Database
Tuning adalah sejumlah aktifitas yang dilakukan untuk memperbaiki atau
meningkatkan kinerja atau performance sebuah database. Aktifitas tuning ini
meliputi banyak aspek dari software hingga hardware, antara lain I/O Tuning,
DBMS Tuning, Query Tuning, dan Database Maintenance.
Optimasi Perintah Structured
Query Language (SQL)
- Desain aplikasi saja tidak cukup untuk meningkatkan kinerja sebuah aplikasi yang menggunakan database.
- Optimasi melalui perintah SQL juga memegang peranan yang tidak kalah penting.
- Inti dari SQL itu sendiri adalah perintah untuk melakukan pengambilan (retrieval), penambahan (insertion), modifikasi (updating), dan penghapusan (deletion) data, disertai dengan fungsi-fungsi pendukung administrasi dan managemen database.
Pada
umumnya programmer, ada saat mengembangkan sebuah aplikasi database, akan membuat sebuah database dan memasukkan
beberapa data contoh ke dalamnya. Pada saat pengembangan, tidak ada masalah dan
kelihatannya semua baik-baik saja, namun seiring berjalannya waktu, aplikasi
mulai terkesan lambat dan bisa jadi sampai hang. Hal ini terjadi karena
biasanya programmer tidak pernah melakukan
load testing menggunakan data besar, dalam artian, jumlah row yang banyak.
Untuk
contoh kasus seperti itu, akan digunakan DBMS MySQL dan membuat
sebuah table sederhana berisikan 9
(sembilan) juta rows.
1. Pagination
Salah satu teknik yang banyak
digunakan dalam aplikasi database adalah pagination, dimana teknik ini harus
diketahui total rows yang ada dalam sebuah table untuk menentukan jumlah page
yang ada.
2. Execution
plan
Execution plan yang dipilih
oleh mysql saat mengeksekusi perintah count(*), maka terlihat seperti di bawah
ini, bahwa mysql melakukan full table scan, ditandai dengan type=ALL
pada execution plan yang muncul. Full table scan artinya, mysql meload
seluruh table ke memory dan menghitung row yang ada di dalamnya satu persatu
3. Searching
Model query
lain yang sangat umum, yaitu query searching dengan
menggunakan WHERE clause. Dicari sebuah row tertentu yang lokasinya di
tengah-tengah table.
4. Execution plan
mengkonfirmasikan bahwa mysql
melakukan full table scan dari row pertama sampai row terakhir.
5. Table
ber Index
Index selesai dibuat, kemudian
lakukan proses penghitungan jumlah rows menggunakan query yang sama seperti
sebelumnya.
6. Query
searching
Query searching dengan table ber
index dan hasilnya muncul sangat cepat
3. Buat kesimpulan dari materi
SQL Tuning atau Optimasi Queri
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.
Tujuan dari query optimization adalah menemukan jalan
akses yang termurah untuk meminimumkan total waktu pada saat proses sebuah
query.
SQL Tuning adalah
sebuah proses optimasi dengan cara mengubah perintah-perintah SQL serta menentukan
teknik indexing agar SQL tersebut bekerja secara optimal.
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)
- Menyeimbangkan Beban Kerja (Balance the Workload)
- Memparalelkan Beban Kerja (Parallelize the Workload)
Komentar
Posting Komentar