sql >> Base de Datos >  >> RDS >> PostgreSQL

¿Cuál es la forma más rápida de aplicar 150 millones de actualizaciones en la tabla PostgreSQL?

  • Más simple:agregue set synchronous_commit=off antes de \i update.sql

  • Mejor:

    • Dividir el archivo en partes de 100000 actualizaciones:
      split -l 100000 -a 6 --additional-suffix=.sql update.sql update-part
    • Ejecute estas actualizaciones en paralelo, cada archivo en una sola transacción, por ejemplo con:
      /bin/ls update-part*.sql \ | xargs --max-procs=8 --replace psql --single-transaction --file={}