Datenbankübergreifendes Performance-Tuning

Einleitung

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