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

Problemi di prestazioni di inserimento in blocco PostgreSQL/JooQ durante il caricamento da CSV; come posso migliorare il processo?

Il modo più veloce per eseguire l'inserimento in blocco da un file CSV in PostgreSQL è con Copia . Il comando COPY è ottimizzato per l'inserimento di un numero elevato di righe.

Con Java puoi utilizzare l'Copia implementazione per il driver JDBC PostgreSQL

C'è un piccolo esempio di come usarlo qui:come copiare un dato da un file a PostgreSQL usando JDBC?

Se hai un CSV con intestazioni, vorresti eseguire un comando simile a questo:

\COPY mytable FROM '/tmp/mydata.csv' DELIMITER ';' CSV HEADER

Un altro miglioramento delle prestazioni quando si aggiungono grandi quantità di dati a una tabella esistente consiste nell'eliminare gli indici, inserire i dati e quindi ricreare gli indici.