質問: New NpgsqlCommand(SQL.ToString, PgCon) cmd.ExecuteNonQuery() PgCon.Close() Return dt End Using End Function ```
回答: Npgsql に SqlClient と 100% 同じ機能があるのかどうか、機能があっても「件数が10万~30万」に適切に対応できるかどうかわかりませんが、DataTable と DataAdapter を使って以下の記事のことができるそうなので紹介しておきます。 DataAdapter を使用したバッチ操作の実行 基本的にどういう仕組みかと言うと、以下の記事の「図 1 DataSet 内の更新イメージ」と「図 2 DataAdapter によるSQL 自動発行のイメージ」のあたりを見てもらうと分かると思います。 DB 設計者のための明解 ADO.NET 第 1 回 UpdateBatchSize プロパティがデフォルトの 1(バッチ更新無効)の場合は、上の記事の図2で INSERT、UPDATE、DELETE の各操作を 1 操作ずつサーバーに送信します。 UpdateBatchSize プロパティが 0 または 2 以上の場合はバッチ処理が行われるということだそうです。詳しくは上の前者の記事を読んでください。