Storage Grundlagen
- On-Disk Speicherbereiche
- Heaps und deren On-Disk Layout
- Xlog: Funktion und Layout
- Clog: Das Commit Log
- Weitere Speicherbereiche
- Datenpersistenz
- Tablespaces
- Optimierung von Lese– und Schreibzugriffen
Speicherverwaltung
- Caching
- Funktionsweise
- Vergleich ClockSweep / ARC / LRU
- Praktische Auswirkungen
- Sort und Aggregates
- Temporäre Tabellen
- Memory Contexts
Indices verwenden
- Index Typen
- Der interne Aufbau von Indices
- Partielle Indices
- Indices auf Funktionen
- Indices für Regular Expressions
- Full Text Search
- Fuzzy Matching
Execution Plans
- Arten der SQL Optimierung
- Exhaustive Search
- Genetische Optimierung
- Andere Techniken (Auszug):
- Regelbasierte Optimierung
- Explain verwenden
- Interpretation des Outputs
- Kosten einer Query schätzen
- ANALYZE
- pg_stats lesen und interpretieren
- EXPLAIN ANALYZE
- Das PostgreSQL Kostenmodell
Interne Optimierungsalgorithmen
- Views und Subselects
- Equality Constraints
- Optimierung von Aggregates
- HashAggregate vs. GroupAggregate
- DISTINCT vs. GROUP BY
- Optimierung von IN-Statements
- Optimierung von ORDER BY
- Joinreihenfolgen und Outer Joins
- Optimierung von Set Operationen
- Optimierung von Procedures und SQL Funktionen
Genetische Query Optimierung
- Die Grenzen der “normalen” Optimierung
- GEQO richtig verwenden
Transactions und Locking
- Transaction Isolation
- Optimierung des Locking Verhaltens
Partitionierung
- Effizientes Cleanup
- Constraint Exclusion