Resume Pertemuan VII
Application Performance, berfokus pada tuning dan
mengoptimalkan kode aplikasi dan SQL, serta memastikan aplikasi berinteraksi
dengan DBMS secara tepat dan efisien.
Beberapa
hal yang harus kita perhatikan ketika kita men-Desain aplikasi :
- Jenis
SQL
- Bahasa Pemrograman
- Desain Transaksi dan Pengolahan
- Mengunci Strategi
- COMMIT strategi
- Batch Strategi
- Pemrosesan Online
Untuk berfungsi dengan baik, optimasi harus mengevaluasi dan menganalisa
berbagai faktor:
1. CPU and
I/O
Berdasarkan
informasi CPU, optimasi dapat di perkiraan dari waktu CPU yang dibutuhkan untuk menjalankan query menggunakan setiap
jalur akses yang dioptimalkan secara analisis.
2. Database Statistics
Sebuah DBMS relasional
menyediakan program utilitas atau perintah untuk mengumpulkan statistik tentang
obyek database dan menyimpannya untuk digunakan oleh optimizer (atau oleh DBA
untuk memantau kinerja).
3. Query Analysis
Selama analisis query, optimizer analisis aspek
pernyataan SQL dan sistem database, seperti:
Ø Jika ada
Indeks yang dapat digunakan
Ø Berapa banyak predikat (klausa WHERE)
Ø Fungsi yang harus dijalankan
Ø Apakah SQL menggunakan OR atau AND
Ø Bagaimana DBMS memproses setiap komponen dari
pernyataan SQL
Ø Berapa banyak memori yang
telah ditugaskan untuk
cache data dan
digunakan oleh tabel dalam pernyataan SQL
Ø Berapa banyak memori yang tersedia
untuk menyortir jika query membutuhkan semacam sebuah perintah
4. Density
Density adalah persentase
rata-rata nilai-nilai duplikat yang disimpan dalam kolom kunci indeks dan
dicatat sebagai persentase.
5. Joins
Ketika beberapa tabel
diakses, optimizer angka keluar bagaimana untuk menggabungkan tabel dengan cara
yang paling efisien. Menggabungkan informasi dari beberapa tabel dikenal
sebagai bergabung. Ketika menentukan jalur akses untuk bergabung, optimizer
harus menentukan urutan di mana tabel akan bergabung, menghitung estimasi biaya
keseluruhan dari setiap jalur akses, dan memilih bergabung metode untuk query
tertentu.
6. Join Order & Access Path Join
Di masing-masing ulasan Optimasi bergabung dalam query dan analisis statistik yang tepat untuk menentukan
urutan optimal di mana tabel harus diakses untuk mencapai bergabung. ( Join
Order)
Beberapa jenis Umum Akses Data adalah tabel scan ( Access Path Join),
seperti Table Scans.
7. Indexed Access
Dari sekian banyak
keputusan yang harus dibuat oleh optimasi, salah satu yang paling penting bagi kinerja query
adalah apakah indeks akan digunakan untuk memenuhi permintaan??.
Ada
dua tipe dasar indeks scan: Indeks pencocokan scan dan scan indeks nonmatching.
8. Hashed Access & Paralel Access
Mengelompokkan data dengan algoritma kedalam tabel yang telah ditentukan. (
Hashed Access )
Optimasi dalam relasional ,dapat memilih untuk menjalankan query
secara paralel. Ketika permintaan paralelisme dipanggil oleh DBMS, beberapa
tugas secara simultan dipanggil untuk mengakses data. ( Paralel
Access )
9. Additional
optimization consideration
Ø View access
Ketika optimazer menentukan access dari queri view maka
ditentukan juga cara mengatasi tampilan
SQL
Ø Query
rewrite
Menulis ulang queri dg formulasi yang berbeda dan menentukan
access path yang lebih baik
Ø Rule-based
Optimization
Mendasarkan keputusan dengan perhitungan estimasi biaya
Ø Reviewing
access path
Meninjau pernyataan SQL dan memperbaikinya sesuai dengan
sifat access path
Ø Forcing
access paths
Jalur akses khusus yang disediakan oleh DBMS
10. SQL Coding & Tuning For Efficiency
DBA bertanggung jawab
untuk memastikan bahwa langkah-langkah berikut akan terjadi untuk setiap pernyataan SQL
dalam suatu organisasi, yakni
:
Ø Mengidentifikasi persyaratan data
bisnis.
Ø Pastikan bahwa data yang dibutuhkan
tersedia di dalam database yang ada.
Ø Menerjemahkan kebutuhan bisnis ke
dalam SQL.
Ø Uji SQL untuk akurasi dan hasil.
Ø Review jalur akses untuk kinerja.
Ø Tweak SQL untuk jalur akses yang
lebih baik.
Ø Petunjuk optimasi Code.
Ø Ulangi langkah 4 sampai 7 sampai
kinerja dapat diterima.
Ø Ulangi langkah 8 kapanpun masalah
kinerja timbul atau versi DBMS baru dipasang.
Ø Ulangi seluruh proses setiap kali
perubahan kebutuhan bisnis.
Posting Komentar