Le moyen le plus rapide d'effectuer une insertion en masse à partir d'un fichier CSV dans PostgreSQL est avec Copier . La commande COPY est optimisée pour insérer un grand nombre de lignes.
Avec Java, vous pouvez utiliser la Implémentation de copie pour le pilote PostgreSQL JDBC
Il y a un joli petit exemple de comment l'utiliser ici :comment copier une donnée d'un fichier vers PostgreSQL en utilisant JDBC ?
Si vous avez un CSV avec des en-têtes, vous voudrez exécuter une commande similaire à celle-ci :
\COPY mytable FROM '/tmp/mydata.csv' DELIMITER ';' CSV HEADER
Une autre amélioration des performances lorsque vous ajoutez de grandes quantités de données à une table existante consiste à supprimer les index, à insérer les données, puis à recréer les index.