ホームページ  >  記事  >  バックエンド開発  >  pgx と Go を使用して PostgreSQL で効率的な一括挿入を実行する方法

pgx と Go を使用して PostgreSQL で効率的な一括挿入を実行する方法

DDD
DDDオリジナル
2024-10-31 04:51:02890ブラウズ

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

Go と pgx を使用した PostgreSQL での一括挿入

このコード スニペットは、Go の pgx ライブラリを使用して PostgreSQL で一括挿入を実行する正しい方法を示しています。

問題の説明

元のコードは一括挿入用の SQL ステートメントを手動で構築しようとしましたが、引数の数が正しくないためエラーが発生しました。

pgx.CopyFrom

SQL ステートメントを手動で作成する代わりに、PostgreSQL のコピー プロトコルを利用して効率的な一括挿入を行う pgx.Conn.CopyFrom メソッドを利用します。

<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>
このコードは、テスト キーをキー テーブルに効果的に挿入します。単一の操作で、一括挿入のパフォーマンスが最適化されます。

以上がpgx と Go を使用して PostgreSQL で効率的な一括挿入を実行する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。