SQLBulkCopy 또는 대량 삽입

bulkinsert c# performance sql sqlbulkcopy

문제

저는 약 17GB의 데이터를 합쳐서 약 6500 개의 파일을 가지고 있으며, 많은 양의 데이터를 옮겨야 만합니다. 데이터는 네트워크 드라이브에 있지만 개별 파일은 비교적 작습니다 (최대 7MB).

나는 C #에서 프로그램을 작성 중이며 SQLBulkCopy 대신 BULK INSERT를 사용하면 성능이 크게 달라지는 지 궁금합니다. 서버의 테이블에도 여분의 열이 있으므로 BULK INSERT를 사용하면 형식 파일을 사용하고 각 행에 대해 UPDATE를 실행해야합니다.

저는 포럼에 처음 왔으므로이 질문에 더 좋은 방법이 있다면 그렇게 말할 수 있습니다.

수락 된 답변

테스트를 통해 BULK INSERT가 훨씬 빠릅니다. 한 시간 후 SQLBulkCopy를 사용하여 데이터를 처리하는 데 4 분의 1이 걸렸으며 다른 방법을 쓰고 점심을 먹기 시작했습니다. 이 글을 쓰고 (~ 3 분), 대량 삽입물은 약 3 분의 1에 이릅니다.

이것을 참조로 보는 사람이라면 업로드가 기본 키없이 더 빠르다는 것을 언급 할 가치가 있습니다.

이것은 주된 원인 중 하나는 서버가 훨씬 더 강력한 컴퓨터 였고 알고리즘의 효율성을 분석하지 못했지만 평균은 BULK INSERT를 사용하는 것이 좋습니다. 서버가 평균 데스크톱 컴퓨터보다 훨씬 빠릅니다.



아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.
아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.