optimasi query
TRANSCRIPT
![Page 1: Optimasi Query](https://reader034.vdokumen.com/reader034/viewer/2022052201/5571f79149795991698b9a64/html5/thumbnails/1.jpg)
Optimasi Query
![Page 2: Optimasi Query](https://reader034.vdokumen.com/reader034/viewer/2022052201/5571f79149795991698b9a64/html5/thumbnails/2.jpg)
Komponen Query Processing Bahasa yang digunakan
SQL : “ Intergrasi bahasa data” Metodelogi Eksekusi Query
Langkah – langkah yang digunakan untuk mengeksekusi dalam gueri yang diinginkan oleh user
Optimasi Query Bagaimana mengetahui rencana
eksekusi yang “baik”
![Page 3: Optimasi Query](https://reader034.vdokumen.com/reader034/viewer/2022052201/5571f79149795991698b9a64/html5/thumbnails/3.jpg)
![Page 4: Optimasi Query](https://reader034.vdokumen.com/reader034/viewer/2022052201/5571f79149795991698b9a64/html5/thumbnails/4.jpg)
Memilih Alternatif
SELECT ENAMEFROM EMP,ASGWHERE EMP.ENO = ASG.ENOAND DUR > 37
Strategi 1
Strategi 2
![Page 5: Optimasi Query](https://reader034.vdokumen.com/reader034/viewer/2022052201/5571f79149795991698b9a64/html5/thumbnails/5.jpg)
Objek Optimasi Queri
Minimal BiayaI/O Cost + CPU Cost + Communication Cost
Wide Area NetworksBiaya komunikasi akan mendominasi
1. Bandwidth Rendah
2. Kecepatan rendah
Local Area NetworksBiaya komunikasi tidak mendomionasi
![Page 6: Optimasi Query](https://reader034.vdokumen.com/reader034/viewer/2022052201/5571f79149795991698b9a64/html5/thumbnails/6.jpg)
Kompleksitas Operasi Relasional
![Page 7: Optimasi Query](https://reader034.vdokumen.com/reader034/viewer/2022052201/5571f79149795991698b9a64/html5/thumbnails/7.jpg)
Lapisan Pada Query Processing
Query Decomposition
Data Localization
Global Optimazation
Local Optimazation
Global Schema
Fragment Schema
Stats OnFragments
LocalSchema
Control Site
Local Sites
![Page 8: Optimasi Query](https://reader034.vdokumen.com/reader034/viewer/2022052201/5571f79149795991698b9a64/html5/thumbnails/8.jpg)
Query Decomposition
Pada Lapis Pertama ini input adalah query dirubah menjadi Aljabar query.
Query Decomposition dibagi menjadi 4 bagian :Normalisasi, analisa semantik, memperbaiki Query, menata ulang struktur dari queri (restruktured)
![Page 9: Optimasi Query](https://reader034.vdokumen.com/reader034/viewer/2022052201/5571f79149795991698b9a64/html5/thumbnails/9.jpg)
Data Localization
Hasil dari lapis pertama akan dibuat dalam bentuk fragment.
Secara Umum membuat fragment guery ada 2 langkah :Distribusi query dipetakan dalam fragment query, menyederhanakan fragment query.
![Page 10: Optimasi Query](https://reader034.vdokumen.com/reader034/viewer/2022052201/5571f79149795991698b9a64/html5/thumbnails/10.jpg)
Global Optimazation
Tujuan dari optimasi query adalah mencari strategi untuk mengeksekusi query.
Strategi eksekusi untuk query terdistribusi tergantung dari aljabar relasional dan cara berkomunikasi ( mengirim/menerima)
![Page 11: Optimasi Query](https://reader034.vdokumen.com/reader034/viewer/2022052201/5571f79149795991698b9a64/html5/thumbnails/11.jpg)
Local Optimization
Pada lapisan ini , query terbaik sudah terpilih, dan setiap sub query berada di satu site.
![Page 12: Optimasi Query](https://reader034.vdokumen.com/reader034/viewer/2022052201/5571f79149795991698b9a64/html5/thumbnails/12.jpg)
Dekomposisi Query
Normalisasi Manipulasi Queri
Analisa Mendeteksi queri yang salah
Sederhanakan Mengeleminasi predicate yang berulang
Tata Ulang Gunakan aturan transformasi
![Page 13: Optimasi Query](https://reader034.vdokumen.com/reader034/viewer/2022052201/5571f79149795991698b9a64/html5/thumbnails/13.jpg)
Normalisasi Aturan untuk operasi logika
1. p1 p2 <=> p2 ^ p12. p1 V p2 <=> p2 V p13. p1 ^ ( p2 ^p3) (p1 ^ p2) ^p34. p1 V (p2 Vp3) ( p1 V p2) Vp35. p1 ^ (p2 Vp3)(p1 ^ p2) V (p1 ^ p3)6. p1 V (p2 ^ p3) (p1 V p2) ^ (p1 V p3) 7. ( p1 ^ p2) p1 V p28. ( p1 V p2) p1 ^ p29. (p) p
![Page 14: Optimasi Query](https://reader034.vdokumen.com/reader034/viewer/2022052201/5571f79149795991698b9a64/html5/thumbnails/14.jpg)
Contoh 1Mencari nama Karyawan untuk proyek J1 yang bekerja selama 12 atau 24 bulanSQL :Select EnameFrom E, GWhere E.Eno = G.EnoAnd G.Jno = “J1”And Dur = 12 Or Dur = 24
Normalisasi :E.Eno = G.Eno G.Jno=“J1” (Dur = 12 V Dur =24)
atau (E.Eno = G.Eno G.Jno=“J1” Dur = 12) V(E.Eno = G.Eno G.Jno=“J1” Dur = 24)
![Page 15: Optimasi Query](https://reader034.vdokumen.com/reader034/viewer/2022052201/5571f79149795991698b9a64/html5/thumbnails/15.jpg)
Analisa
Menemukan queri yang salah
Tipe yang tidak benar
1. Jika ada atribut atau nama relasi tidak didefenisi dalam skema global
2. Ada operasi yang diaplikasikan ke atribut dengan tipe yang salah
![Page 16: Optimasi Query](https://reader034.vdokumen.com/reader034/viewer/2022052201/5571f79149795991698b9a64/html5/thumbnails/16.jpg)
Contoh 2
Select E#From EWhere Ename > 200Queri tidak benar :Atribut E# tidak dideklarasikan
dalam schemaOperator > 200 tidak compatible
dengan type string dari nama
![Page 17: Optimasi Query](https://reader034.vdokumen.com/reader034/viewer/2022052201/5571f79149795991698b9a64/html5/thumbnails/17.jpg)
Kesalahan Semantik
1. Ada komponen yang tidak memberikan konstribusi dalam hasil akhir
2. Hanya sebagian dari relational queris yang dapat di tes untuk koreksi
3. Untuk mendektesi : query graph dan Join Graph
![Page 18: Optimasi Query](https://reader034.vdokumen.com/reader034/viewer/2022052201/5571f79149795991698b9a64/html5/thumbnails/18.jpg)
Contoh 3:Cari nama dan responsibility dari programer yang telah
bekerja pada proyek CAD/CAM lebih dari 3 tahun
FROM EMP, ASG, PROJ
WHERE EMP.ENO = ASG.ENO
AND ASG.PNO = PROJ.PNO
AND PNAME = "CAD/CAM"
AND DUR = 36
AND TITLE = "Programmer"
![Page 19: Optimasi Query](https://reader034.vdokumen.com/reader034/viewer/2022052201/5571f79149795991698b9a64/html5/thumbnails/19.jpg)
![Page 20: Optimasi Query](https://reader034.vdokumen.com/reader034/viewer/2022052201/5571f79149795991698b9a64/html5/thumbnails/20.jpg)
![Page 21: Optimasi Query](https://reader034.vdokumen.com/reader034/viewer/2022052201/5571f79149795991698b9a64/html5/thumbnails/21.jpg)
Analisis Jika Graph tidak terkoneksi , queri salah
SELECT ENAME,RESPFROM EMP, ASG, PROJWHERE EMP.ENO = ASG.ENOAND PNAME = "CAD/CAM"AND DUR = 36AND TITLE = "Programmer"
![Page 22: Optimasi Query](https://reader034.vdokumen.com/reader034/viewer/2022052201/5571f79149795991698b9a64/html5/thumbnails/22.jpg)
Sederhanakan
- Mengapa Harus disederhanakan- Bagaimana , Gunakan aturan
transformasi1. p ^ p p2. p V p p3. p ^ true p4. p V false p5. p ^ false false
6. P V true true
7. P ^ p false
8. P V p true
9. p1 ^ (p1 Vp2) p1
10 . p1 V (p1 ^p2) p1
![Page 23: Optimasi Query](https://reader034.vdokumen.com/reader034/viewer/2022052201/5571f79149795991698b9a64/html5/thumbnails/23.jpg)
Contoh 4
SELECT TITLEFROM EMPWHERE EMP.ENAME = “J. Doe”OR (NOT (EMP.TITLE = “Programmer”)AND (EMP.TITLE = “Programmer”OR EMP.TITLE = “Elect. Eng.”)AND NOT (EMP.TITLE = “Elect. Eng.”))
SELECT TITLEFROM EMPWHERE EMP.ENAME = “J. Doe”
![Page 24: Optimasi Query](https://reader034.vdokumen.com/reader034/viewer/2022052201/5571f79149795991698b9a64/html5/thumbnails/24.jpg)
Tata UlangMake use of query trees ExampleFind the names of employees other thanJ. Doe who worked on the CAD/CAMproject for either 1 or 2 years.SELECT ENAMEFROM EMP, ASG, PROJWHERE EMP.ENO = ASG.ENOAND ASG.PNO = PROJ.PNOAND ENAME . “J. Doe”AND PNAME = “CAD/CAM”AND (DUR = 12 OR DUR = 24)
![Page 25: Optimasi Query](https://reader034.vdokumen.com/reader034/viewer/2022052201/5571f79149795991698b9a64/html5/thumbnails/25.jpg)
![Page 26: Optimasi Query](https://reader034.vdokumen.com/reader034/viewer/2022052201/5571f79149795991698b9a64/html5/thumbnails/26.jpg)
![Page 27: Optimasi Query](https://reader034.vdokumen.com/reader034/viewer/2022052201/5571f79149795991698b9a64/html5/thumbnails/27.jpg)
![Page 28: Optimasi Query](https://reader034.vdokumen.com/reader034/viewer/2022052201/5571f79149795991698b9a64/html5/thumbnails/28.jpg)
![Page 29: Optimasi Query](https://reader034.vdokumen.com/reader034/viewer/2022052201/5571f79149795991698b9a64/html5/thumbnails/29.jpg)