sql >> Database >  >> RDS >> PostgreSQL

Prestatieproblemen met PostgreSQL/JooQ bulk-insertie bij laden vanuit CSV; hoe verbeter ik het proces?

De snelste manier om bulksgewijs in te voegen vanuit een CSV-bestand in PostgreSQL is met Kopiëren . Het COPY-commando is geoptimaliseerd voor het invoegen van grote aantallen rijen.

Met Java kunt u de Copy-implementatie voor PostgreSQL JDBC-stuurprogramma

Er is een mooi klein voorbeeld van hoe het te gebruiken hier:hoe kopieer je gegevens uit een bestand naar PostgreSQL met behulp van JDBC?

Als je een CSV met headers hebt, zou je een commando als dit willen uitvoeren:

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

Een andere prestatieverbetering wanneer u grote hoeveelheden gegevens aan een bestaande tabel toevoegt, is het verwijderen van de indexen, het invoegen van de gegevens en het opnieuw maken van de indexen.



  1. MySQL werkt nullable datumkolom bij naar NULL

  2. Cayenne, Postgres:primaire sleutelgeneratie

  3. Converteren tussen SQL char en C#

  4. Spring Boot REST · @Constraint voor verwijderen?