Accélération du remplissage de la base de données Postgres avec des insertions groupées
Remplir une base de données Postgres avec un grand ensemble de données nécessite des méthodes efficaces. Les déclarations INSERT
individuelles sont lentes pour les opérations groupées. Postgres propose une solution supérieure : la commande COPY
.
La commande COPY
charge directement les données d'un fichier ou d'un stdin dans une table, en contournant l'analyseur de requête standard pour une insertion considérablement plus rapide.
Utilisation de la commande COPY
pour le chargement groupé de données :
Préparez un fichier texte contenant vos données.
Exécutez la commande COPY
dans votre terminal Postgres en utilisant cette syntaxe :
<code class="language-sql">COPY table_name (column1, column2, ...) FROM '/path/to/data.txt' DELIMITER ',' CSV HEADER;</code>
Remplacez les espaces réservés : table_name
par le nom de votre table, /path/to/data.txt
par le chemin absolu du fichier.
Ajustez DELIMITER
et CSV HEADER
selon la structure de vos données.
Autres améliorations des performances :
Au-delà de COPY
, ces stratégies optimisent davantage les insertions en masse :
work_mem
et maintenance_work_mem
pour fournir suffisamment de mémoire pour le processus d'importation.COPY
simultanées pour le chargement parallèle. Cela exploite les processeurs multicœurs pour une vitesse maximale.Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!