Performance Tuning für Entwickler
ID:
113
Dauer:
4 Tag(e)
Seminar-Ziel:
Die Teilnehmer werden in die Lage versetzt, die internen Abläufe der Datenbank-Engine im Hinblick auf Performance zu verstehen und zu verbessern.
Zielgruppe:
Datenbank-Administratoren, Datenbank-Entwickler, Entwickler
Beschreibung:
In diesem Seminar werden Kenntnisse in den Interna des so genannten SQL OS (SQL Server Operating System) vermittelt. Teilnehmer lernen die Abläufe der Datenbank-Engine beim Speichern und Abrufen von Daten kennen. Aufbauend auf diesem Know-How werden Möglichkeiten aufgezeigt, das Design der Zugriffs-Logik und die internen Prozesse der Engine optimal aufeinander abzustimmen.
Preis (Tagessatz Netto):
1400.00 €
Inhalt:
Einführung in das SQL Server Operating System (SQLOS)
- Die NUMA-Architektur
- SQL Scheduler und Worker-Threads
- Einführung in die Speicherverwaltung von SQL Server
- Dimensionierung des Buffer Pools
Architektur der Datenspeicherung
- Datei-Typen: Daten- und Protokoll-Dateien, Filestreams
- Aufbau von Data-Pages und Data-Rows
- Speichern von Daten in Index- oder Heap-Strukturen
- Änderungen in Data Pages durch Datenmanipulation
- Constraints und Index-Optionen
- Änderungen in Index Data Pages durch Verwaltungs-Vorgänge
SQL Server Ausführungs-Pläne
- Einführung in den Abfrage-Optimierer
- Arbeiten mit Ausführungsplänen und Ausführungsoptionen
- Analysieren von Ausführungsplänen
- Schwerpunkt: JOIN-Typen (Nested Loop, Merge Join, Hash Join)
- Parallelität in Abfragen
Verbessern der Abfrage-Performance
- Werkzeuge - Statement Tuning und Rewriting
- Best Practices: Verwenden von temporären Objekten
- Best Practices: Erstellen von Indizes
- Best Practices: Cursor-Refactoring
- Best Practices: Bulk Load und Datenquellen-Sync
- Verwenden von Hinweisen (Query Hints / Plan Hints)
Arbeiten mit Caches
- Einführung in Object- und Statement-Caching
- Autoparametrierung und erzwungene Parametrierung
- Kompilierung und Rekompilierung
- Verwalten von Cache-Objekten
- Best Practice: Caching, Dynamisches SQL, Erkennen von Compilation Issues
Transaktionen, Konkurriende Zugriffe und Sperren
- Einführung in Datenbank Transaktionen
- Lock-Typen - Allgemeine und spezielle Lockmodes
- Granularität und Dauer von Locks
- Lock-Ressourcen
- Typische Lock-Situationen verstehen und vermeiden
- Deadlocks erkennen und vermeiden
- Erhöhen der Parallelität durch Row-Versioning
Monitoring von SQL Statements und Ressourcen
- Profiler: Aufzeichnen von SQL Traces
- Profiler: Session Replay, Debugging und Lastsimulation
- Profiler: Einbinden von System-Countern
- Werkzeuge
- Verwenden von integrierten Performance-Berichten
- Langzeit-Analyse von Belastungen mit Performance Datawarehouse
Seminar-Level:
Fortgeschritten
Seminar-Typ:
Technisches Seminar
Voraussetzung:
Entwickler und Administratoren, die über gute Kenntnisse in Microsoft SQL Server oder einem anderen RDBMS verfügen.
Durchführung:
Demonstration, Übung, Vortrag
Produkt:
SQL Server - Alle Versionen