PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Query postgres lenta quando si uniscono tabelle di grandi dimensioni

  • Lo schema sembra ragionevole (per la query non sono necessari gli indici e alcuni degli indici sono già coperti dai vincoli FK)
  • La tabella di giunzione non ha bisogno di una chiave surrogata (ma non danneggerà).
  • Il vero motivo per cui la tua query è lenta è che ha bisogno di tutte le righe da tutti i tavoli per calcolare gli aggregati. Se hai bisogno del 100% dei dati, gli indici non possono aiutarti molto.
  • L'aggiunta di un vincolo aggiuntivo (ad es. su snapshot_timestamp> =some_date) causerà probabilmente un piano diverso che utilizzerà gli indici.