2016-11-09 1 views
0

안녕하십니까.효율적인 단일 행 삽입을 위해 SqlBulkCopy가 잘못된 선택입니까?

는 내가 단일 행의 C에서 15 초마다 정도를 수행 # 및 삽입을 쓰고하는 A 서비스가있다. 이 간격은 사용자가 지정할 수 있지만 현재 15 초가 대상 간격입니다. SqlBulkCopy on a single record? 명확하게 하나의 행 대량 삽입을 수행을 통해 일반 인서트를 사용하는 처리량의 이점을 설명 않습니다

이 나는이 기사를 읽었습니다. 그러나 일반 삽입물이 대량 삽입물보다 CPU에 약간 무겁다는 것도 언급합니다.

필자가 작성한 서비스는 지원 서비스이며 인서트는 인위적으로 지정된 간격으로 1 개로 제한되어 있으므로 위의 의미가 일반 삽입보다 SqlBulkCopy 사용에 대한 정당성인지 여부가 궁금합니다. 분명히 나는 ​​내 서비스가 가능한 한 가벼운 것을 원한다.

+2

길 건너 삼촌을 방문 갈 우주선을 발사 같다. 당신은 수학을 해요. –

답변

2

기사의 대답은 SqlBulkCopy의이 4.4 배 느린 간단한 SQL 명령의 두 배 CPU을 말한다. 당신은 대답을 오해 (또는 I 않았다)는, 그것은 SqlBulkCopy의 더 의미가 정기적으로 삽입보다는 CPU에 무거운 상태.

대답은 간단하다 : SQL 명령과 스틱 당신은 단지 하나의 레코드를 삽입 할 필요가 있는지 100 % 경우.

심지어 내 라이브러리 C# Bulk Operations은 SqlBulkCopy가 너무 무거 우서 일반적으로 10 개의 특정 행에 도달 할 때까지 SqlBulkCopy를 사용하지 않습니다. 하나 개의 레코드를 삽입하는 대량 복사를 사용하여

관련 문제