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

Postingan Populer