SQL Azure 데이터베이스가있는 구름에 하늘색 응용 프로그램이 있습니다. 나는 BCP 또는 SSIS를 직접 사용할 수 없도록 파일 (최대 3 천만 행)을 처리하는 데 필요한 작업자 역할이 있습니다.SqlBulkCopy 및 Azure를 사용하는 병렬 대량 삽입
현재 SqlBulkCopy를 사용하고 있습니다. 그러나이 방법은 400k 행에 대해 최대 4-5 분의로드 시간을 보았을 때 너무 느립니다.
대량 삽입을 병렬로 실행하고 싶습니다. 그러나 데이터를 병렬로 가져 오거나 잠금 동작을 제어하는 기사를 읽는 동안 SqlBulkCopy를 사용하려면 테이블에 클러스터형 인덱스가없고 테이블 잠금 (BU 잠금)을 지정해야한다고합니다. 그러나 azure 테이블에는 클러스터 된 인덱스가 있어야합니다.
SQL Azure의 동일한 테이블에서 SqlBulkCopy를 병렬로 사용할 수 있습니까? 그렇지 않다면 코드에서 사용할 수있는 다른 API가 있습니까?
엉덩이 매트 말한다. 처리량은 나에게 맞았다. 클러스터형 인덱스를 제외하고 테이블에 인덱스가 없는지 확인하십시오. –
나는 임시 테이블에 병렬로 삽입하고 그 임시 테이블에서 주 테이블로 (직렬로) 삽입하는 작업을 마쳤습니다. 임시 테이블에서의 삽입이 약 2 백만 행에 대해 4-5 분이 걸렸으므로 저에게는 훨씬 빠른 것처럼 보였습니다. – kyliod