Masseneinfügung von CSV in PostgreSQL mit Go ohne For-Schleife
Das Einfügen einer großen Datenmenge aus einer CSV-Datei in eine PostgreSQL-Datenbank ist möglich kann zeitaufwändig sein, wenn Sie eine for-Schleife verwenden. Ein effizienterer Ansatz besteht darin, die pgx-Bibliothek zu verwenden, um einen Massenkopiervorgang durchzuführen.
Pgx für Masseneinfügung verwenden
Um dies zu erreichen, können Sie die folgenden Schritte ausführen:
Codebeispiel
Der folgende Go-Code zeigt, wie Sie Daten in großen Mengen einfügen eine CSV-Datei in eine PostgreSQL-Datenbank mit pgx:
<code class="go">import ( "context" "fmt" "os" "github.com/jackc/pgx/v5" ) func main() { filename := "foo.csv" dbconn, err := pgx.Connect(context.Background(), os.Getenv("DATABASE_URL")) if err != nil { panic(err) } defer dbconn.Release() f, err := os.Open(filename) if err != nil { panic(err) } defer func() { _ = f.Close() }() res, err := dbconn.Conn().PgConn().CopyFrom(context.Background(), f, "COPY csv_test FROM STDIN (FORMAT csv)") if err != nil { panic(err) } fmt.Print(res.RowsAffected()) }</code>
Mit diesem Ansatz können Sie Daten aus großen CSV-Dateien effizient in großen Mengen einfügen, ohne den Aufwand einer for-Schleife. Diese Methode eignet sich besonders für die Verarbeitung großer Datenmengen und sorgt für eine schnellere Datenladeleistung.
Das obige ist der detaillierte Inhalt vonWie kann ich mit Go effizient und ohne for-Schleife Daten aus einer CSV-Datei in PostgreSQL einfügen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!