Maison > développement back-end > Golang > Comment effectuer des insertions groupées efficaces dans PostgreSQL avec pgx et Go ?

Comment effectuer des insertions groupées efficaces dans PostgreSQL avec pgx et Go ?

DDD
Libérer: 2024-10-31 04:51:02
original
1023 Les gens l'ont consulté

How to Perform Efficient Bulk Inserts in PostgreSQL with pgx and Go?

INSÉRER en masse dans PostgreSQL à l'aide de Go et pgx

Cet extrait de code montre la manière correcte d'effectuer une insertion en masse dans PostgreSQL à l'aide de la bibliothèque pgx dans Go.

Description du problème

Le code d'origine a tenté de construire manuellement une instruction SQL pour une insertion groupée, mais a rencontré une erreur en raison d'un nombre d'arguments incorrect.

Solution avec pgx.CopyFrom

Au lieu de créer manuellement l'instruction SQL, nous exploitons la méthode pgx.Conn.CopyFrom, qui utilise le protocole de copie de PostgreSQL pour une insertion groupée efficace :

<code class="go">rows := [][]interface{}{
    {&quot;abc&quot;, 10},
    {&quot;dns&quot;, 11},
    {&quot;qwe&quot;, 12},
    {&quot;dss&quot;, 13},
    {&quot;xcmk&quot;, 14},
}

copyCount, err := conn.CopyFrom(
    pgx.Identifier{&quot;keys&quot;},
    []string{&quot;keyval&quot;, &quot;lastval&quot;},
    pgx.CopyFromRows(rows),
)
if err != nil {
    fmt.Fprint(os.Stderr, &quot;Error : \n&quot;, err)
}</code>
Copier après la connexion

Ce code insère efficacement les clés de test dans la table des clés dans une seule opération, optimisée pour les performances d'insertion en masse.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal