21 lines
876 B
Markdown
21 lines
876 B
Markdown
![[5-RelQuery.pdf]]
|
|
|
|
Gleiche SQL-Anfragen können SEHR unterschiedlich schnell ausgewertet werden
|
|
Optimierung durch DBMS ist KRITISCH!
|
|
|
|
## Anfrageoptimierer
|
|
Logische Anfrage zu effizientem physischen Ausführungsplan übersetzen
|
|
1. Regelbasiert
|
|
2. Kostenbasiert
|
|
3. Physisch
|
|
|
|
### Regelbasierte Optimierung
|
|
Algebra Ausdruck in einen effizienteren Ausdruck umwandeln
|
|
1. Push Selection - früh filtern
|
|
2. Push Projection - nur benötigte Attribute
|
|
3. Combine Operations - Operationen zusammenfassen, Kreuzprodukte vermeiden
|
|
4. Split - $\sigma_{A \land B}(R) = \sigma_A(\sigma_B(R))$ Konjunktion zerlegen
|
|
5. Commute - $\sigma_A(\sigma_B(R)) = \sigma_B(\sigma_A(R))$ Reihenfolge flexibel
|
|
6. Push - $\sigma_B(R \times S) = \sigma_B(R) \times S$ Tupelanzahl reduzieren
|
|
7. Push Projection - Projizieren vor Joinen
|
|
8. Combine Operations - Select von Kreuzprodukt zu Join zusammenfassen |