Performa aplikasi fokus membahas tentang tuning dan optimasi kode aplikasi dan SQL statement Aplikasi yang didesain dan di buat dengan buruk akan sangat mempengaruhi performa database 80% masalah databae, ketika di track, akan kembali pada masalah aplikasi
Isu yang berkembang untuk application performance antara lain › Type of SQL valid Planned/unplanned, dynamic / static, embeded /stand alaone › Programming language sesuai tujuan penggunaan ? optimal › Transaction design and processing. sesuai dengan ACID (atomicity-otomatis, consistency- konsisten, isolation-isolasi, and durability-kuat ) properties
Locking strategy tipe lock benar ? Tipe lock lama? COMMIT strategy. apakah setiap aplikasi menggunakan SQL commit? Batch processing apakah batch program sesuai fitur sequential processing DBMS Online processing aplikasi online mengembalikan info yang berguna? Optimal info per akses?
Optimizer jantung dari DBMS Optimizer engine yang bertanggung jawab untuk menentukan best possible database navigation strategy untuk setiap SQL request. Developer aplikasi harus menspesifikan data apa yang dibutuhkan saat coding SQL DBMS supply information dimana data diletakkan, relational optimizer memutuskan bagaimana nafigasi data secara efisien End user harus memiliki pengetahuan dimana dan bagaimana data aktual disimpan, optimiser tahu info tersebut
Setiap RDBMS memiliki embedded relational optimizer merender SQL statements menjadi executable access paths. Setiap vendor relational memiliki sedikit perbedaan pada relational optimisernya perbedaan step dan perbedaan informasi Inti dari proses sama antara DBMS satu dengan yang lain Optimiser parse SQL statement perform ke beberapa fase optimasi
Step yang muncul untuk setiap SQL statement 1. Indetifikasi kebutuhan bisnis 2. Memastikan kebutuhan data tersedia pada database 3. Terjemahkan dari bisnis requirement ke SQL 4. Test akurasi SQL dan hasilnya 5. review akses path untuk mengetahui performa 6. Tweak SQL untuk mendapatkan akses path yang lebih baik 7. Code optimization hints. 8. Ulangi langkah 4 sampai 7 hingga performa diterima 9. Ulangi langkah 8 apabila muncul masalah performa atau DBMS baru diinstall 10. Ulangi seluruh proses jika dibutuhkan untuk proses bisnis baru
Rule 1: sesuai › DBA harus tahu apa yang sesuai dengan kebutuhan Rule 2: hati-hati terhadap apa yang ditanyakan › Letakkan predikat yang restriktif pada tempat yang dbaca pertama kali Rule 3: KISS › Keep it simple, Stupid Rule 4: Ambil apa saja yang dibutuhkan
Rule 5: hindari Cartesian Products Rule 6: bijak untuk penggunaan OR
Rule 7: Bijak dalam penggunaan LIKE
Rule 8: ketahui mana yang terbaik kerjanya Rule 9: Isu COMMIT yang terlalu sering Rule 10: bijak dalam penggunaan kode generator Rule 11: pertimbangkan penggunaan store prosedure
Gunakan index untuk menghindari sorting buat index untuk query yang bermasalah Jika memungkinkan jangan menggunakan aritmatic di SQL predikat (where), gunakan programming application untuk operator aritmatik Gunakan fungsi SQL untuk meminimalkan effort programming Gunakan contrain untuk meminimalkan coding cek Jangan lupa efek tersembunyi dari trigger. Sebab bisa jadi satu delete dapat mempengaruhi banyak hal.termasuk jika ada masalah bisa jadi trigger delete ini penyebab masalah
Manajemen Performa aplikasi dan SQL tuning adalah area komplek yang mebutuhkan partisipasi aktif dari programmer dan DBA Setiap DBMS beroperasi secara berbeda, maka DBA termasuk programmer perlu mengetahui setiap langkah untuk SQL dan application performance manajemen untuk DBMS mereka Relational optimizer mengkombinasikan akses path strategi untuk membentuk akses path yang efisien untuk setiap SQL request Optimizer adalah bagian yang komplek dari sebuah software, dan DBMS vendor terkadang tidak memberikan petunjuk yang cukup pada customer cara penggunaannya SQL peformance tuning lebih tepat disebut proses artistic yang berulang, daripada disebut bagian dari science
Install oracle (enterprise edition) letakkan cara install dan screenshot instalasi di blog masing-masing Akan digunakan untuk kuliah selanjutnya