- Das Schema sieht vernünftig aus (für die Abfrage brauchen Sie die Indizes nicht wirklich, und einige der Indizes werden bereits von den FK-Einschränkungen abgedeckt)
- Die Junction-Tabelle benötigt keinen Ersatzschlüssel (aber es schadet nicht).
- Der wahre Grund für Ihre langsame Abfrage ist, dass sie alle Zeilen benötigt von allen Tischen um die Aggregate zu berechnen. Wenn Sie 100 % der Daten benötigen, können Indizes nicht viel helfen.
- Das Hinzufügen einer zusätzlichen Einschränkung (z. B. auf snapshot_timestamp> =some_date) wird wahrscheinlich zu einem anderen Plan führen, der die Indizes verwendet.