2010-01-14 3 views
3

거대한 mdx 쿼리로 SQL Server 2008 큐브에 요청하려고합니다.MDX 오류 : 쿼리 최적화 프로그램에서 쿼리 계획에 너무 많은 하위 큐브를 생성했습니다.

이 쿼리에는 계산 된 20 개 이상의 멤버가 쿼리에 정의되어 있습니다.

각 구성원에는 큐브의 차원에 대한 제한 사항이 있습니다. 항상 모든 차원을 필요로하지는 않지만 때로는 필요합니다.

음, 16 명까지 잘 작동합니다. 16 개 이상의 구성원이 있으면 메시지 오류가 나타납니다. "쿼리 최적화 프로그램에서 쿼리 계획에 하위 큐브가 너무 많이 생성되었습니다".

이 오류를 해결할 수있는 방법이 있습니까?

감사합니다.

답변

1

귀하가 성능 병목 현상에 갇혀 내가 당신의 첫 번째 단계는 성능 병목 현상 수식 엔진 또는 스토리지 엔진 내에 있는지 여부를 결정하는 것입니다 생각하기. 이를 수행하려면 캐시가 차가워 질 때 성능이 좋지 않은 MDX 쿼리를 실행하기 위해 수식 엔진과 저장소 엔진에 필요한 시간을 결정하십시오. 저장소 엔진이 소비 한 시간은 SQL Server 프로파일 러 추적에서 각 쿼리 하위 큐브 이벤트의 경과 시간을 합산하여 결정할 수 있습니다. 수식 엔진이 소비 한 시간은 쿼리 종료 이벤트의 총 실행 시간에서 저장소 엔진이 소비 한 시간을 뺀 값으로 결정할 수 있습니다.

계산 된 16 번째 구성원이 오류를 발생 시키므로 하위 큐브 이벤트를 제한하는 것을 결정하기 위해 거기에서 거꾸로 작업 할 수 있다는 것을 알고 있으므로 이미 시작했습니다.

자세한 내용은 다음을 참조하십시오. http://74.125.95.132/search?q=cache:XgP38c6S9-UJ:www.badlydressedboy.com/docs/IdentifyingAndResolvingMDXBottlenecksSSAS.doc+query+optimizer+generated+too+many+subcubes+in+the+query+plan&cd=14&hl=en&ct=clnk&gl=us