SQLBulkCopy 대 10lcs 레코드 삽입 / 업데이트 용 DataAdapter

.net dataadapter performance sqlbulkcopy vb.net

문제

데이터베이스에 삽입 할 레코드가 약 1,000,000 개 이상 있습니다.

동일한 ID를 갖는 레코드는 다른 것으로 업데이트되어야합니다.

업데이트 / 삽입 논리는 저장 프로 시저로 작성됩니다.

이 작업을 수행하려면 DataAdapter.Update 메서드를 사용하고 있습니다.

여기에 문제가있다.

DataTable은 65,000 개가 넘는 레코드를 사용합니다.

삽입 / 업데이트는 초당 60 레코드입니다.

이 성능을 어떻게 향상시킬 수 있습니까? SqlBulkCopy를 사용할 수 있습니까?이 Update / Insert를 함께 수행 할 수 있습니까? 그것의 성능은 무엇인가?

인기 답변

삽입 업데이트 용으로 레코드를 DataTable에로드하고 있습니까?

그렇다면 SP를 한 번에 직접 호출하고 DataTable을 건너 뛰는 것이 나을 것입니다.

또는 TVP와 IEnumerable SqlDataRecord를 사용할 수 있으며 65000으로 제한되지 않습니다.

IEnumerable SqlDataRecord를 사용하는 예



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