小编izi*_*zip的帖子

SQL Server - Order by case 语句非常慢

我在执行正常的 SP 中有以下查询:

SELECT * FROM MyTable u
ORDER BY 
u.[Id] DESC
OFFSET @PageSize * (@PageNumber - 1) ROWS
FETCH NEXT @PageSize ROWS ONLY
Run Code Online (Sandbox Code Playgroud)

但是,当我从 SP 参数配置 ORDER BY 时,查询从以毫秒为单位执行到几秒:

SELECT * FROM MyTable u
ORDER BY 
CASE WHEN @Sort = 0 THEN u.[Id] END DESC,
CASE WHEN @Sort = 1 THEN u.[Id] END ASC,
CASE WHEN @Sort = 2 THEN u.[LastName] END ASC,
CASE WHEN @Sort = 3 THEN u.[LastName] END DESC
OFFSET @PageSize * (@PageNumber - 1) ROWS …
Run Code Online (Sandbox Code Playgroud)

sql-server t-sql

4
推荐指数
1
解决办法
2899
查看次数

标签 统计

sql-server ×1

t-sql ×1