파일에서 Microsoft SQL Server 데이터베이스로 데이터를 가져와야합니다.데이터베이스로 데이터 가져 오기
- 파일 대략 (일관성 필드 수 있지만, 필요한 데이터의 모든 행 가능)
- 파일이 600'000 레코드
- 첫번째 필드는까지 포함 할 수 구조화는 레코드를 식별
데이터를 가져올 때 새 값으로 데이터베이스의 기존 레코드를 업데이트하거나 레코드를 찾을 수없는 경우 새 레코드를 삽입합니다.
이를 수행하는 가장 좋은 방법은 무엇입니까? 이 방법은 처리 시간의 몇 시간에 이르게 초당 35 개 기록, 주위를 처리하기 때문에
는 (내 .NET 응용 프로그램에서SELECT
및
UPDATE
또는
INSERT
이 진정으로 나를 만족하지 않습니다 실행, 라인하여 파일 라인을 읽기 ...)
첫 번째 옵션은 저장 프로 시저에서 select 및 update/insert 명령을 결합하는 것이지만 여전히 많은 시간이 걸릴 수 있습니다.
같은 것이 있습니까? INSERT ... ON DUPLICATE UPDATE
?
레코드 (여러 열)의 목록/배열을 저장 프로 시저에 전달할 수 있습니까?
예인 경우 어떻게 구현 되나요?
은 SSIS가 정확히 그렇게 만들어진 당신의 도움 :)
[SQL Server BULK INSERT] (http://msdn.microsoft.com/en-us/library/ms188365.aspx)를 봐야 대량로드가 가능합니다. SQL Server의 준비 테이블에 파일. 스테이징 테이블에 데이터를로드하면 중복을 감지하고 제거하여 "실제"데이터 테이블에 데이터를 채울 수 있습니다. –
어떻게 대상 데이터 테이블에 데이터를 채우기 위해 중복을 감지하고 제거하겠습니까? 앞에서 설명한 것처럼 중복은'UPDATE' 문으로, 나머지는'INSERT' 문으로 처리되어야합니다. – Nicholas
감사합니다. 병합은 제가 찾고 있던 것이 었습니다. 이 플래그를 승인 된 플래그로 추가 할 수 있습니다. – Nicholas