우리는 (일부 내부 이유) 생산에 느린 쿼리,변환 OUTER JOIN은 왼쪽에 적용
SELECT T2.Date
FROM Table1 T1
OUTER APPLY
(
SELECT TOP 1 T2.[DATE]
FROM Table2 T2
WHERE T1.Col1 = T2.Col1
AND T1.Col2 = T2.Col2
ORDER BY T2.[Date] DESC
) T2
을하지만 왼쪽으로 변환 할 때, 그것은 신속하게
SELECT Max(T2.[Date])
FROM Table1 T1
LEFT JOIN Table2 T2
ON T1.Col1 = T2.Col1
AND T1.Col2 = T2.Col2
GROUP BY T1.Col1, T1.Col2
할 수있는 가입 우리는 두 쿼리가 동등하다고 말합니까? 그렇지 않다면 제대로 변환하는 방법.
첫 번째 쿼리가 유효한 구문이 아니기 때문에 둘 다 동일하지 않습니다.하지만 어쩌면 난독 화 시도에서 오류가 발생했을 수 있습니다. 별명 A는 정의되지 않았으므로 A.DATE를 참조하십시오. – SMor
@SMor 예 지금 수정했습니다. 동등한가요? – user960567
또한 제안 된 논리는 일부 가정에 의존하는 것처럼 보입니다. 집합체를 사용하면 논리가 유사한 것으로 가정하여 반환되는 행 수를 줄여야합니다. 사용할 수있는 데이터에 근거하여 행운이라고 생각합니까? 이것을 시도하고 결과를 비교 했습니까? – SMor