0
다음과 같은 샘플 쿼리가있는 큰 테이블을 사용하여 일치하는 결과를 검색합니다.여러 외부 적용 행이있는 큰 테이블 성능 비교
Select col1,col2,col3
from
Table1 T1
OUTER APPLY (select col2 from Table2 Where t2id=T1.id)
OUTER APPLY (select col3 from Table3 Where t3id=T1.id)
Where col3>0
문제점은 Where 절 열 값 확인시 매우 느리게 실행됩니다.
성능 향상없이 CROSS APPLY를 포함한 다른 접근 방식을 시도했습니다.
아이디어가 있으십니까?
후 쿼리 계획 .... 플러스 테이블의 ACHEMA 덴, 플러스 두 번째 외부에서 열에 대해 비교되기 때문에 해당 테이블 –
에 정의 된 인덱스를 적용 결과한다 바깥쪽에있을 필요는 없지만 대신에 "교차 적용"으로 바꿀 수 있습니다. 쿼리 계획에 차이가있을 수 있습니다. –
바보 같은 질문 :이 쿼리는'SELECT T1.col1, T2.col2, T3.col3로 재 작성 될 수 없다. Table1로부터 T1 LEFT JOIN Table2 T2 ON T1.id = T2.t2id LEFT JOIN Table3 T3 ON T1.id = T3 .t3id 어디 T3.col3> 0'입니까? 대답이 "예"이면이 쿼리가 더 빠르거나 느리거나 같은 시간이 걸립니까? – Marco