当前位置: 代码迷 >> Sql Server >> 求教一个SQL的写法,怎么更有效率
  详细解决方案

求教一个SQL的写法,怎么更有效率

热度:62   发布时间:2016-04-24 10:38:21.0
求教一个SQL的写法,如何更有效率?
表结构如下

 航班号      Flight_NO
旅客姓名   Name
进港标示   In_Flag  1或0
出港标示   Out_Flag 1或0
会员标示   Mem_Flag 1或0
其中,同一个航班可能是进港也可能是出港,进港标示和出港标示相反,也就是要么出港为1进港为0,要么出港为0进港为1
现在要按   航班号  统计如下数据
进港人数,出港人数,会员人数,会员出港率,会员进港率

我能写出来,但上面几项都是分了好几次查询才出来,感觉效率很差,想请教如何写效率比较高,谢谢
------解决方案--------------------
进港标示   和  出港标示   放在一个字段里就可以了,InOrOut   0为进,1为出
你的查询都比较单纯没啥好优化的
实在数据量大就对表做时间切割,按年,按季度,按月,按周,按日 根据你的数据量做一个符合你性能需求的切割方式
至于大型报表太慢怎么办的话,可以考虑做汇总表,每个周期产生汇总,反正你的数据应该不会有修改历史数据的需求,使用汇总表输出大时间跨度需求正好
------解决方案--------------------
必须分几次查呀,效率不会差吧
------解决方案--------------------
70W数据3秒肯定是慢了,请适当添加索引
建议使用
set statistics io on 
set statistics time on 
来看看实际的资源消耗更为准确

对0,1两种单纯的做group by效果并不好
最好贴出你现有语句,我们来看看有没有可以改动的地方

  相关解决方案