Den Kostenbasierten Oracle Optimizer Verstehen (DEU)

Warum sollten Sie an diesem Workshop teilnehmen?

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 "guten" und "schlechten" Hints
  • 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)

The basic principles and main driving factors of the Oracle optimizer cost calculation

- 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

- How to read execution plans generated by the optimizer
- 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: