배경 :
UAT 단계에 팩트 테이블이 있습니다. Prod에 5 년 동안의 데이터를로드하는 것을 목표로합니다 (예상 크기 400Mn 레코드). 현재 테스트에는 2 년의 데이터 만 있습니다.
테이블 특징 :
- 치수 수 ~ 45
- 측정 ~ 30
- 비 첨가 측정 및 기타 열 ~ 25
- 현재 데이터 크기 ~ 2 억 (2 년 데이터)
- 시간보기 : 3 가지 다른 달보기 : 회계 / 캘린더 / 조정
- 사용자는 한 번에 하나의보기 만 필요합니다. (즉, 쿼리에 한 달 열만 사용되므로 시간보기에서 파티셔닝을 중지합니다)
- 인덱스 : 1 개의 자연 키에 대한 클러스터형 인덱스 (8 개 열) 몇 개의 차원 SK (FK) 및 모든 측정 값을 포함하여 매월 열에 하나씩 비 클러스터형 인덱스를 포함하여 3 개 생성됨.
- 이 때문에 인덱스는 엄청납니다 (총 190GB).
- 공간이 제한되지 않음 (1TB 할당)
- 서버에서 64GB의 RAM을 사용할 수 있습니다.
- 테이블 압축도 완료되었습니다.
요구 사항 :
이 팩트 테이블의 쿼리는 30 초 내에 결과를 제공해야합니다 (일반 쿼리는 Dim 값으로 몇 개의 Dim 그룹에 합류하는 sum (계산 값 선택)). 보고서는이 팩트 테이블 위에서 직접 수행됩니다.
문제 :
인덱스에서 사용 가능한 열을 포함하는 쿼리는 정상적으로 작동하지만 include.에 포함되지 않은 다른 열을 포함하면 빠릅니다. 5-10 분 이상 걸립니다. 우리가 선택한 모든 차원 / 열에 잘 작동하는 솔루션을 제안 할 수 있습니까? 이 상황에서 색인보기가 도움이 될 수 있습니까?