For 루프 없이 Go를 사용하여 CSV에서 PostgreSQL로 대량 삽입
CSV 파일의 대량 데이터를 PostgreSQL 데이터베이스에 삽입할 수 있습니다. for 루프를 사용할 때 시간이 많이 걸립니다. 보다 효율적인 접근 방식은 pgx 라이브러리를 활용하여 대량 복사 작업을 수행하는 것입니다.
대량 삽입에 pgx 사용
이를 달성하려면 다음 단계를 수행할 수 있습니다.
코드 예
다음 Go 코드는 대량 삽입 방법을 보여줍니다. pgx를 사용하여 PostgreSQL 데이터베이스에 CSV 파일:
<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>
이 접근 방식을 사용하면 for 루프의 오버헤드 없이 대규모 CSV 파일의 데이터를 효율적으로 대량 삽입할 수 있습니다. 이 방법은 대규모 데이터 세트를 처리하고 더 빠른 데이터 로드 성능을 보장하는 데 특히 유용합니다.
위 내용은 for 루프 없이 Go를 사용하여 CSV 파일의 데이터를 PostgreSQL에 효율적으로 대량 삽입하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!