我們詢問這是在生產緩慢(對於一些內部原因),轉換OUTER APPLY到LEFT 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
但是,當我轉換爲LEFT JOIN之成爲快速,
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.DATE,但別名A未定義。 – SMor
@SMor是的,我現在糾正。它是平等的嗎? – user960567
此外,建議的邏輯似乎依賴於一些假設。假設邏輯類似,使用聚合應該減少返回的行數。基於可用的數據,這只是運氣,你似乎認爲這些是相同的?你是否嘗試過並比較結果? – SMor