Häufig sind Performance Probleme von Applikationen in der Datenbank durch einige grundlegende Fehlannahmen verursacht, wie die Datenbank das ihr vorgesetzte SQL ausführt. Dieser Workshop vermittelt einige Einsichten, wie die Datenbank SQL in ausführbaren Code umsetzt und was typischerweise dabei schief gehen kann, warum es schief geht, was dann zu einigen wichtigen Punkten führt, wie diese Probleme vermieden werden können.
Ziel des Workshops (Einführung)
- Verstehen Sie die grundlegenden Prinzipien wie der Oracle Optimizer die Kosten für Abfragen berechnet, sowie die Hauptfaktoren, die diese Berechnung beeinflussen
- Bekommen Sie eine Idee warum einige dieser Berechnungen schief gehen können, auch in Fällen, die für Menschen relativ trivial aussehen
- Lernen Sie, wie Sie einige diese Berechnungen verbessern können, und was Sie in den Fällen tun können, wenn die Berechnung nicht so einfach verbessert werden kann
- Lernen Sie, wie man die vom Optimizer generierten Ausführungspläne richtig liest
Ziel des Workshops (Fortgeschrittene)
- Effiziente Indizierung und um was es mit der neuen In-Memory Option geht / Exadata Smart Scans
- Verbessern Sie Ihr Verständnis, wie der Optimizer Abfragen umschreiben kann
- Bekommen Sie ein besseres Verständnis der Partitionierungsoption und die damit einhergehenden Herausforderungen der Statistikpflege auf Partitionslevel
- Lernen Sie, wie man Statistiken manuell setzen kann und den Unterschied zwischen einer "guten" und "schlechten" Art, Hints zu verwenden
- Lernen Sie die unterschiedlichen Arten von "Plan Stability" in Oracle kennen
- Lernen Sie, wie man Parallel Execution Ausführungspläne liest
Voraussetzungen
Grundlegendes Verständnis der Oracle Architektur, SQL
Zielpublikum
DBAs und Entwickler
Kursinhalte
Tag 1 (Einführung)
- Die grundlegenden Prinzipien und Hauptfaktoren der Kostenkalkulation des Oracle Optimizers
- Wo diese Berechnungen schief gehen können und warum
- Wie man diese Berechnungen verbessert, um sie der Realität anzunähern
- Was man tun kann, wenn die Berechnungen nicht so einfach verbessert werden können
- Wie man Ausführungspläne richtig liest
- Wie man ein Laufzeitprofil einer Abfrage generiert, um die Abschätzungen mit den tatsächlichen Werten zu vergleichen und wo die Zeit auf Ausführungsplan-Ebene verbracht wird
Tag 2 (Fortgeschrittene)
- Indizierung / In Memory and Exadata Smart Scans
- Query Rewrites - das Cost Based Query Transformation (CBQT) Framework
- Partitionierung und Statistiken auf Partitionsebene
- Manuell Statistiken setzen und Hints sinnvoll einsetzen
- Plan Stability
- Parallel Execution Ausführungspläne
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.