2011-11-15 2 views
2

성능을 위해 인덱스를 추가하려는 스키마 바운드 뷰 수가 많습니다.SQL 서버에서 유니온의 대안

문제는 복수형 union all이있는 것입니다.

union all을보기에서 색인 생성을 허용하는 것으로 바꾸는 일반적인 리팩토링 제안/접근법을 찾고 있습니다.

  1. 우리는 뷰에 의해 표현되는 EntityA 있습니다

    기본적으로, 현재 뷰에서 사용되는 조합 논리에 대한 두 가지 시나리오가있다. 이 엔티티의 소스는 다양한 테이블에서 가져옵니다. 즉, 일부 EntityAs는 TableA에 기록되고, 일부는 TableB에 기록됩니다.

  2. 우리는보기로 표현되는 EntityA를 가지고 있습니다. 표 A는 EntityA를 제공합니다. TableA의 각 행은 뷰에서 여러 EntityAs를 생성해야합니다.

감사합니다.

+2

리팩토링해야 할 것을 볼 수 있도록 지금 가지고있는 SQL을 보는 것이 도움이 될 것입니다 ... – ShaneBlake

+0

@ JeffN825 : 시나리오 1에서 TableA와 TableB에 동시에 기록 된 엔티티를 보시게 될 것입니까? –

+0

@ JeffN825 : 시나리오 2에서 반환되는 복수의 EntityA 수를 쿼리가 어떻게 결정합니까? –

답변

0

이 방법이 더 빠르지는 모르겠지만 union all을 수행하는 대신 원하는 방식으로 색인이 생성 된 임시 테이블을 만들고 union의 각 부분에서 필요한 값을 삽입 할 수 있습니까?