Postgres legt für FK-Spalten selbst KEINEN Index an (nur für die
referenzierte PK-Seite) - grep über alle Models ergab 0 explizite Indizes
im gesamten Schema trotz 86 Fremdschlüsseln. Ohne Index braucht jede
Lookup-Query von der "viele"-Seite (z.B. "alle Fehlbestände zu diesem
Objekt", "alle Kontrollen zu diesem Benutzer") einen Sequential Scan -
bei aktueller Datenmenge unauffällig, würde mit wachsendem Bestand aber
zum Problem.
5 Spalten ausgelassen, weil bereits über eine UniqueConstraint als
führende Spalte indiziert (Postgres nutzt den führenden Teil eines
zusammengesetzten Unique-Index für Einzelspalten-Lookups genauso):
objektposition.objekt_id, bestand.lagerplatz_id, beladungsvorlage.
objekttyp_id, vorlagenposition.vorlage_id, benutzer_qualifikation.
benutzer_id. dokument.vorgaenger_id hatte bereits einen Index (Migration
0027).
Fund beim Abgleich gegen die database-optimization-Checkliste aus
ai-coding-starter-kit.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CVgbozhYmuEhiEJHffRXCV