Datenbankübergreifendes Performance-Tuning

Dieses Seminar vermittelt universelle Techniken zur Performance-Optimierung relationaler Datenbanken, unabhängig vom eingesetzten RDBMS (wie PostgreSQL, SQL Server, Oracle oder MySQL). Teilnehmer erlernen die Analyse von Ausführungsplänen, fortschrittliche Indexierungsstrategien, das Erkennen von SQL-Anti-Patterns und das effiziente Handling von Transaktionen unter Hochlast.

Zielgruppe / Voraussetzung

  • Zielgruppe: Datenbankentwickler, Backend-Engineers, DBAs und Softwarearchitekten.
  • Voraussetzung: Fundierte SQL-Kenntnisse und praktische Erfahrung mit relationalen Datenbanken.

Detaillierte Inhalte

Architektur und Query Processing

  • Phasen der Abfrageverarbeitung: Parsing, Binding, Optimierung und Ausführung
  • Funktionsweise des Cost-Based Optimizers (CBO)
  • Bedeutung und Pflege von Datenbank-Statistiken

Ausführungspläne (Execution Plans) analysieren

  • Lesen und Interpretieren von Ausführungsplänen über verschiedene Systeme hinweg
  • Physische Join-Operatoren verstehen: Nested Loop, Hash Join, Merge Join
  • Flaschenhälse identifizieren: Table Scans, Index Scans, Key Lookups

Indexierungsstrategien

  • B-Tree-Architektur und Index-Tiefen
  • Clustered vs. Non-Clustered Indexes (bzw. Heap Tables)
  • Design von Composite Indexes (Reihenfolge der Spalten)
  • Covering Indexes (Abdeckende Indizes) zur Vermeidung von Leseoperationen auf der Tabelle
  • Einsatz von gefilterten (Filtered) und funktionsbasierten (Function-based) Indizes

SQL Anti-Patterns und Refactoring

  • Sargability (Search Argument Able): Indexfreundliches Schreiben von WHERE-Klauseln
  • Erkennen und Beheben des N+1-Select-Problems in ORM-Frameworks
  • Implizite Datentyp-Konvertierungen und deren Performance-Auswirkungen
  • RBAR (Row-By-Agonizing-Row) vs. mengenbasierte (Set-based) Operationen

Concurrency, Locking und Transaktionen

  • ACID-Prinzipien und deren physische Umsetzung
  • Sperrmechanismen (Locks, Latches) und Blockaden (Blocking)
  • Analyse und Auflösung von Deadlocks
  • Isolation Levels (Read Committed, Serializable) und Multi-Version Concurrency Control (MVCC)

System- und Ressourcen-Optimierung

  • Speichermanagement (Buffer Pool, Shared Buffers)
  • I/O-Optimierung und Storage-Layout (Datafiles, Transaction Logs/WAL)
  • Parameter Sniffing / Bind Variable Peeking erkennen und behandeln

Dauer: 3 Tage


Häufige Fragen (FAQ)

Welche Datenbanksysteme werden im Tuning-Seminar verglichen?

Das Seminar ist herstellerunabhängig konzipiert. Die universellen Konzepte werden an PostgreSQL, Microsoft SQL Server, Oracle und MySQL/MariaDB demonstriert. Wir vergleichen die Ausführungspläne, Index-Engines und Optimierer der verschiedenen Systeme direkt miteinander.

Worin liegt der Unterschied zwischen diesem und den systemspezifischen Tuning-Kursen?

Dieser Kurs vermittelt die systemübergreifende Denkschule: relationale Algebra, Planer-Kostenmodelle, Index-Strategien und Anti-Patterns, die auf jedem System gelten. Wer PostgreSQL bis ins letzte Detail (MVCC, Bloat, Autovacuum, shared_buffers) optimieren will, findet die Fortsetzung im PostgreSQL Performance-Tuning Seminar.

Können wir eigene langsame Abfragen zur Analyse mitbringen?

Ja, bei Inhouse-Schulungen ist das ausdrücklich erwünscht. Wir analysieren reale Problemabfragen aus Ihrem Tagesgeschäft und optimieren sie gemeinsam im Seminar.

Individuell anfragen