사실 테이블을로드하려고합니다. 나는 7 개의 다른 테이블에 합류하고있다. 조인에서 count (1)을 선택하면 실행하는 데 25 분이 걸렸고 988368728 개의 레코드가 반환되었습니다. 그 위에 나는 동일한 테이블 세트로 그룹을 다시 사용하고 있습니다.SSIS를 사용하여 엄청난 수의 레코드 선택
예 :
Select set1.minVal, t2b, t2.Key1, T3.Key2... t7.g From t1, t2,...,t7
left outer join
(
Select
Min(t1a) minVal, Max(t2b) maxVal, t2.Key1, T3.Key2 From t1, t2,...,t7
group by t2.Key1, K3.Key2(Key Columns)
)set1
on t2.Key1 = set1.Key1
and t3.Key2 = set1.Key2
and t2b = maxVal
I가 1 시간 후에 실패 된 상기 쿼리를 실행
TEMPDB 인해 충분한 메모리이다. 팩트 테이블을로드하려면 SSSI 패키지에서이 쿼리를 사용해야합니다. 여러 가지 방법으로이를 달성하기 위해 쿼리를 작성할 수있는 옵션이 있습니다. 그 중 하나는 SP를 사용하여 결과를 나누고 정복 할 수 있으며 SSIS 패키지를 사용하여 분할하고 정복 할 수는 있지만이를 어기는 방법을 알지 못합니다.이번에는 살인자를 분류하는 데 도움이 필요합니다.
그룹 전에 98mils를 가지고 있다고 확신합니다. 그룹별로 35mils로 줄었습니다. 나는이 질문을 나누고 정복 할 방법을 원합니다. 저장 프로 시저 또는 SSIS 패키지. – HRK
요점은 데카르트 조인을 사용 하시겠습니까? 아니면 # 또는 레코드를 줄이기 위해 사용해야하는 테이블 사이에 키 열이 있습니까? 또한 7 개의 테이블 중 4 개의 값만 사용하고 있습니다. –
다른 식으로 말하면 ....이 쿼리는 정확하지 않은 것으로 보입니다. 항상 TEMPDB가되는 데카르트 조인이 생성됩니다. 큰 테이블을 사용하는 경우 오류가 발생합니다. 쿼리를 분석하고 올바른 쿼리를 작성해야합니다. 너의 것은 틀림없이 틀리다. –