Datenbankübergreifendes Performance-Tuning
Dieses Seminar vermittelt dir universelle Techniken zur Performance-Optimierung und Query-Optimierung relationaler Datenbanken, unabhängig vom eingesetzten RDBMS (wie PostgreSQL, SQL Server, Oracle oder MySQL). Du lernst die Analyse von Ausführungsplänen, fortschrittliche Indexierungsstrategien, das Erkennen von SQL-Anti-Patterns und das effiziente Handling von Transaktionen unter Hochlast.
Für wen ist dieses Seminar
Datenbankentwickler, Backend-Engineers, DBAs und Softwarearchitekten. Das Angebot richtet sich an Unternehmen, Behörden und Selbstständige.
Was du mitbringen solltest
Fundierte SQL-Kenntnisse und praktische Erfahrung mit relationalen Datenbanken.
Geschult wird auf der jeweils aktuellen Version; bei Inhouse-Seminaren gern auch auf der Version, die ihr im Einsatz habt.
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
- Analysewerkzeuge je System: Query Store (SQL Server),
pg_stat_statements(PostgreSQL), AWR/ASH (Oracle)
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
- Partitionierung als Tuning-Mittel: große Tabellen aufteilen und Partition Pruning nutzen
Skalierung und wiederkehrende Last
- Materialized Views und vorberechnete Ergebnisse als Alternative zu wiederholt teuren Aggregationen
- Connection Pooling: warum Verbindungsaufbau teuer ist und wie ein Pooler die Last glättet
Dauer: 3 Tage
Was du danach kannst
- Einen Ausführungsplan über verschiedene Systeme hinweg lesen und den Flaschenhals benennen
- Für eine gegebene Abfrage die passende Indexstrategie wählen — von Composite- bis Covering-Index
- SQL-Anti-Patterns wie N+1-Selects und RBAR-Operationen erkennen und in mengenbasierte Logik umschreiben
- Sperren, Blockaden und Deadlocks analysieren und Isolation Levels gezielt einsetzen
- Materialized Views, Partitionierung und Connection Pooling als Mittel gegen wiederkehrende Last einordnen
- Die systemeigenen Analysewerkzeuge (Query Store,
pg_stat_statements, AWR/ASH) zur Ursachensuche nutzen
Verwandte Seminare
- PostgreSQL Performance-Tuning — die Vertiefung für PostgreSQL: MVCC, Bloat, Autovacuum und die PostgreSQL-eigenen Indextypen.
- SQL Fortgeschritten — die Abfragetechniken (CTEs, Window Functions), die in diesem Seminar als gegeben vorausgesetzt werden.
- Relationales Datenbank-Design — gutes Schema-Design als Grundlage für Performance.
Dein Dozent
Frank Glück schult seit mehr als 30 Jahren und programmiert seit fast 40 Jahren. Seit 1999 ist er auch als Dozent für die GFU tätig.
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 eurem Tagesgeschäft und optimieren sie gemeinsam im Seminar.