Мне нужно отсортировать довольно большой набор данных на основе вычисляемого столбца.
Вот часть запроса, которая выполняет сортировку
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
похоже, что вызывает проблему.
Есть идеи, как мы могли бы это улучшить?