1. Menurut anda pentingkan melakukan optimasi query dalam memanajemen database?
Penting, untuk menciptakan indeks - indeks yang baik dan benar.
2. Buat ringkasan dari materi SQL Tuning atau Optimasi Queri.
Optimasi Queri adalah suatu strategi penggunaan sumber sumber jalur query secara lebih efektif dan efisien dengan tujuan untuk seminimal mungkin total waktu yang digunakan ketika proses query berlangsung.
Faktor - faktor yang berpengaruh terhadap optimisasi kecepatan akses data:
1. Optimasi perintah SQL.
Dalam melakukan optimasi SQL, kita harus mempertimbangkan desain logik dan struktur penyimpanannya. Inti dari optimasi query adalah meminimalkan jalur untuk penemuan data dalam sistem penyimpanan.
2. Informasi jalur akses query.
Pada database Oracle, informasi untuk melihat jalur akses yang digunakan untuk eksekusi database saat melakukan query dapat dilihat dengan menggunakan perintah explain plain.Informasi ini disimpan dalam tabel PLAN_TABLE yang terdapat di schema user yang mengeksekusi perintah tersebut.
3. Faktor Lain yang Berpengaruh Terhadap Kecepatan Akses Data
Faktor yang berpengaruh terhadap kecepatan akses data tidak hanya pada optimasi perintah SQL,tapi terhadap hal-hal lain yang berpengaruh.Faktor lain yang berpengaruh terhadap kecepatan akses data yaitu optimasi aplikasi dan penggunaan cluster dan index.
Diantaranya adalah optimasi aplikasi dan penggunaan cluster index.
3. Buat kesimpulan dari materi SQL Tuning atau Optimasi Queri
Kesimpulannya, optimasi Queri sangat penting. Dan ada beberapa faktor yang mempengaruhi kecepatan akses data yaitu optimasi perintah SQL, informasi jalur akses query dan faktor lain yang berpengaruh terhadap kecepatan akses data.
Jumat, 29 November 2019
OPTIMASI QUERI DAN SQL TUNING
OPTIMASI QUERI DAN SQL TUNING
Optimasi Query 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.
Beberapa teknik optimasi query
database yang dapat diterapkan untuk mengembangkan sistem yang lebih baik
adalah sebagai berikut:
- Hindari
mismatch tipe data untuk pengindeksan kolom
Kebanyakan orang menggunakan tanda
kutip tunggal (dalam kondisi filter) terlepas dari tipe data yang mereka query.
Hal Ini membuat oracle melakukan internal typecast ke tipe data yang
dibutuhkan.
- Hindari
fungsi pada kolom yang diindeks
Biasanya, kita melakukan identifikasi
kolom yang paling sering di query kemudian dibuat index pada kolom tersebut.
Tapi query kita menggunakan fungsi pada kolom yang terindeks. Hal ini
akhirnya akan membatalkan tujuan menciptakan indeks pada kolom tersebut.
3.
Menentukan kondisi pada WHERE bukan pada HAVING
Ini bukanlah sebuah error. Jika filter
dilakukan sebelum pengelompokan, maka semua data yang tidak perlu akan
dikelompokan dan akhirnya data yang dibutuhkan akan difilter. Menerapkan
filter sebelum pengelompokan akan menghindari sortasi dan pengelompokkan yang
tidak perlu.
- Penggunaan
join untuk mengganti inner query
Hal
ini sebenarnya dianggap sebagai praktek yang buruk pada penulisan SQL, menulis
hasil inner query pada tiap-tiap baris hasil query tabel utama.
- Menentukan
tabel dengan ukuran paling kecil, pada urutan terakhir pada query join.
Seperti yang kita lihat, menggunakan join menghasilkan hasil yang lebih baik daripada inner query. Kita harus mengurutkan tabel sedemikian rupa sehingga tabel terkecil akan ditentukan pada akhir di SQL, sehingga waktu oracle untuk membandingkan baris akan berkurang.
- Mengganti NOT
IN dengan NOT EXISTS
Hal ini sama halnya dengan menghindari
subquery.
SQL
TUNING
Bagian
terpenting pada tuning performansi database system adalah Tuning SQL
statements. Adapun pada tuning SQL terdapat tiga langkah dasar :
1.
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.
2.
Verifikasi
bahwa execution plans yang diproduksi oleh query optimizer untuk
statement-statement ini berjalan dengan baik.
3.
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)
·
Menyeimbangkan
Beban Kerja (Balance the Workload)
·
Memparalelkan
Beban Kerja (Parallelize the Workload)
Langganan:
Postingan (Atom)