查询多个结果是用case when 条件显示列的查询效率高,还是查询后union all合并效率高.

比如selectname,casebzwhen1thengongzhielse0endasf1,casebzwhen2thengongzhielse0endasf2fro... 比如
select name,case bz when 1 then gongzhi else 0 end as f1 ,case bz when 2 then gongzhi else 0 end as f2
from 工资表
-------
select name, case bz when 1 then gongzhi else 0 end as f1 , 0 as f2
from 工资表
union all
select name, 0 as f1 ,case bz when 2 then gongzhi else 0 end as f2
from 工资表
哪个效率高?
展开
 我来答
路飞魂
2018-08-24
知道答主
回答量:4
采纳率:100%
帮助的人:3930
展开全部
事实上,数据量越大用union all的效率越高,因为case when是需要逐条分析查询结果的,而转换成union all后,分析这一步就可以省掉了。数据量越大,优势也明显
tq0cdxa
2013-07-19 · TA获得超过123个赞
知道小有建树答主
回答量:210
采纳率:0%
帮助的人:209万
展开全部
我觉得第一效率高
第一读表一次判断两次
第二读表两次判断两次
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式