SQLBUlkCopy는 StoredProcedure를 호출하여 SQLDb에 데이터를 삽입하거나 업데이트합니다.

c# sqlbulkcopy sql-server

문제

레코드가 존재하는지 또는 데이터베이스에 존재하지 않는지에 따라 SQL DB에 삽입하거나 업데이트해야하는 레코드 목록이 있습니다.

현재 흐름은 각 레코드를 1 씩 처리 한 다음 데이터베이스를 삽입하거나 업데이트하는 작업을 수행하는 C # 코드에서 저장 프로 시저를 호출합니다.

위의 프로세스는 매우 비효율적입니다. SQL Bulk Copy를 사용하여 한 번에 SQL 대량 복사를 SQLDb에 삽입 할 수 있습니까?

위의 경우 성능이 향상됩니다.

감사합니다 Ankur

전문가 답변

SqlBulkCopy 는 삽입 만 할 수 있습니다. 업서 트 해야하는 경우 SqlBulkCopy준비 테이블 (주 모델의 일부가 아닌 별도의 테이블)로 매핑 한 다음 TSQL에서 병합 할 수 있습니다. 동시성 (얼마나 많은 사람들이 동시에 스테이징 테이블을 사용할 수 있는지 등)에 대해 생각할 수도 있습니다.



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