在order by 里面使用了case when ,查询相当慢

chinoistzc 2010-04-15 10:39:55
select *
from
TK_TASK tktask0_
where
1=1
order by
case
when charindex(tktask0_.spesign,
'2')<>0 then '1创新药'
when charindex(tktask0_.spesign,
'11')<>0 then '2特殊审批'
when charindex(tktask0_.spesign,
'3')<>0 then '3抗艾滋病药物'
else '普通品种'
end,
tktask0_.section,
tktask0_.indgroup,
tktask0_.statenow,
tktask0_.taskid,
tktask0_.drgname,
tktask0_.resultnow
...全文
451 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
zoffor 2010-04-16
  • 打赏
  • 举报
回复
用like?
老黎 2010-04-16
  • 打赏
  • 举报
回复
order by 后面那些字段用了函数,索引失效!
weiqianli 2010-04-15
  • 打赏
  • 举报
回复
学习中。。。。
artoksxb 2010-04-15
  • 打赏
  • 举报
回复
order by 后面那些字段用了函数,索引失效!
喜-喜 2010-04-15
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 htl258 的回复:]
正常的,因为order by 后面那些字段用了函数,索引失效,在数据量大的情况下,必然会很慢。
[/Quote]

order by 后面那些字段用了函数,索引失效!
学习...
htl258_Tony 2010-04-15
  • 打赏
  • 举报
回复
正常的,因为order by 后面那些字段用了函数,索引失效,在数据量大的情况下,必然会很慢。
喜-喜 2010-04-15
  • 打赏
  • 举报
回复
问题点数:5分

ding..........

11,847

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 非技术版
社区管理员
  • 非技术版社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧