PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Langsame Postgres-Abfrage beim Verbinden großer Tabellen

  • 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.