Technik 1.3 — Datenbanken Grundlagen

Indexe & Performance

Index‑Typen:
  • B‑Tree: Default, gut für = und Range‑Abfragen.
  • Hash: nur =, sehr schnell, kein Range.
  • GIN/GiST (Postgres): Full‑Text, JSONB, Geo.
  • BRIN: für sehr große, sortierte Tabellen (Time Series).
  • Vector‑Index (HNSW, IVF): für Embeddings.
Query‑Tuning Routine:
  1. EXPLAIN ANALYZE — was passiert wirklich?
  2. Sequential Scan auf großer Tabelle? → Index fehlt.
  3. Nested Loop bei Mio. Rows? → Hash Join besser.
  4. Statistiken aktuell? → ANALYZE.
  5. Fehlende Constraints? → Optimizer kann nicht planen.
Anti‑Pattern:
  • SELECT * in Production — explizit Spalten nennen.
  • WHERE LOWER(email) = ? ohne functional Index.
  • N+1 Queries (1 Query pro Row in Schleife).
  • Keine Pagination → Speicherüberlauf.
  • Indexe auf jeder Spalte → Inserts werden langsam.
Zurück zu Technik