Maison > développement back-end > Golang > le corps du texte

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

DDD
Libérer: 2024-10-31 04:51:02
original
909 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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!