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

Qual è il modo più veloce per applicare 150 milioni di aggiornamenti sulla tabella PostgreSQL

  • Più semplice:aggiungi set synchronous_commit=off prima di \i update.sql

  • Meglio:

    • Dividi il file in parti di circa 100000 aggiornamenti:
      split -l 100000 -a 6 --additional-suffix=.sql update.sql update-part
    • Esegui questi aggiornamenti in parallelo, ogni file in una singola transazione, ad esempio con:
      /bin/ls update-part*.sql \ | xargs --max-procs=8 --replace psql --single-transaction --file={}