2011-07-29 4 views

답변

1

만약 당신의 변환이 간단하다면; 즉, 두 개의 SELECT 문에서 쉽게 코딩 할 수있는 경우 SELECT INTO 문을 사용하는 간단한 저장 프로 시저가 최선의 방법입니다. 매우 효율적이고 유지할 부품이 적습니다.

변환 논리가 매우 복잡하거나 변경 가능한 경우 SSIS를 고려하십시오. 복잡한 다단계 변환을 모델링하고 유지 관리 할 수 ​​있습니다.

행운을 빈다.

1

이 질문에 답하기 전에 여러 가지 질문을해야한다고 생각합니다. 다음은 제가 통과 한 것입니다 ...

  1. 한 번 또는 반복해서? 이것은 주로 지원 및 성능 질문에 대답해야하는지 여부를 결정하는 데 있습니다. 일회성 전송이라면, 가장 편안하다고 느껴질 때마다 그것을하고 다시 할 일을위한 소스 코드를 보관하십시오.
  2. 내 상점에서 가장 편안하게 사용하는 다른 개발자는 무엇입니까? 여기서는 SSIS 관련 작업을 많이 처리하며 대부분 SQL (및 VB) 만 처리합니다. 내가 멀리있을 때 그들을 지원하기를 원하기 때문에 작업이 너무 복잡하지 않으면 나는 SP로 그것을 만들 것이다.
  3. 서버로드가 낮거나 성능 조정에 문제가있는 밤에 실행됩니까? 낮 시간 동안, 나 또는 다른 사람들이 성능 문제를 파헤 치고 조정하기가 쉽기 때문에 스토어드 프로 시저를 거의 항상 빌드합니다. 성능이 문제가되지 않는다면 SSIS를 사용할 확률이 높습니다. 이것은 INSERT가 더 빠르다고 생각하기 때문이 아니라 단지 사실을 튜닝하기가 더 쉽기 때문입니다.
+0

빌을 다시 삽입합니다, 감사합니다 귀하의 회신을 위해! – Tamila

+0

이러한 모든 작업은 매일 또는 매월 실행되는 반복/예약 작업입니다. 일부는 제작 시간 동안, 다른 일부는 시간외에 운영됩니다. 나는이 문제를 다루는 유일한 사람이기 때문에 다른 개발자들에 대해별로 염려하지 않는다. 그리고 나는 두 가지 해결책을 똑같이 편안하게 생각한다. 데이터 볼륨이 그다지 크지 않기 때문에 일반적으로 성능은 큰 문제가 아닙니다. 지금 당장 데이터베이스에 두 가지 솔루션이 혼합되어 있습니다. 일관성을 유지하고 싶습니다. 따라서 최선의 방법을 찾고 있습니다. – Tamila

+0

최선의 방법은 하나를 골라서 붙이는 것입니다. 그래서 다음 사람은 모든 조각을 찾을 수 있습니다. 그것이 완료된 방법에 대해 아무것도 모르는 다음 개발자는 내년에 당신을 기억할 것입니다. – Bill

0

항상 대량 삽입을 사용합니다. 인덱스를 삭제하고 마지막으로 인덱스를 다시 작성해야합니다.

http://msdn.microsoft.com/en-us/library/ms188365.aspx

  1. ALTER INDEX [INDEXNAME 표 DISABLE ON

  2. 대량

  3. ALTER INDEX [INDEXNAME] 테이블에

관련 문제