SQL에서 대량 데이터 삽입 : OLEDB IRowsetFastLoad 대 Ado.Net SqlBulkCopy

ado.net oledb sqlbulkcopy sql-server

문제

나는 SQL 서버에 많은 양의 데이터를 삽입하는 다른 방법을 평가하고있다. OLEDB에서 Ado.Net 및 IRowsetFastLoad 인터페이스의 SqlBulkCopy 클래스를 발견했습니다. 내가 아는 한, IRowsetFastLoad는 내 기본 플랫폼 인 C #에 매핑되지 않으므로, IRowsetFastLoad 주위에 래퍼를 만들만한 가치가 있는지 평가 중이므로 .net에 사용할 수 있으므로 응용 프로그램에서 사용할 수 있습니다.

누구든지 IRowsetFastLoad가 SqlBulkInsert보다 실제로 성능이 우수한지 알고 있습니다. 그러한 래퍼를 만드는 것이 가치가 있습니까?

수락 된 답변

SqlBulkCopyIRowsetFastLoad 대해 관리되는 것과 동일하게 수행해야합니다. 클라이언트에서 일반적으로 OleDB는 바인딩 사용 가능성으로 인해 ADO.Net보다 빠릅니다. API를 통해 데이터를 더 빠르게 전송할 수 있습니다 (버퍼가 미리 알려지고 미리 고정되어 있으므로 memcopy가 필요하지 않음). 할당 됨). ADO.Net은 훨씬 쉬운 프로그래밍 모델을 제공하지만 ADO.Net w / oa 복사본에서 데이터를 가져올 수는 없습니다. 그러나 가장 중요한 액세스를 제외하고는 차이점을 측정 할 수 없어야합니다.

서버 액세스에 중요한 차이점은 빠른로드 INSERT BULK API (곧바로 T-SQL에서 사용할 수 없음)와 중요한 문제입니다.



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