我必須根據計算列對相當大的一組數據進行排序。 這裏是做排序按計算列排序時的性能
Select Row_Number() over(Order By
CASE WHEN @sortBy Is Not Null AND @sortBy='relevance'
THEN
aRank*0.4+bRank*.2+cRank*.4
END DESC
,CASE WHEN @sortBy Is Not Null AND @sortBy='date' THEN CreateDate END DESC
) As rowNumber
......
from X
OUTER APPLY
(
Select SkillMatchRank...........
) SMR
Where
SkillMatchRank>0
問題是這樣的運行極爲緩慢查詢的一部分。
我的觀察:
SkillMatchRank > 0
似乎是什麼導致的問題。
任何想法,我們可以改善這一點?
無關您的問題,而是'NULL'是永遠等於SQL什麼,所以你的謂詞上半年是多餘的。 –
從下面的評論。 「我們正在使用一個選擇查詢,沒有任何物理表,內存上的所有內容」。 **如果不是桌子,那麼**是什麼? –