当前位置: 代码迷 >> Sql Server >> SQL帮忙优化一下子吧
  详细解决方案

SQL帮忙优化一下子吧

热度:9   发布时间:2016-04-24 09:41:53.0
SQL帮忙优化一下吧,
      SELECT sga51 日期,SUM(sga91) 生产数量,SUM(b.gb92) 厂内不良数量,SUM(b.gb94) 厂外不良数量,
      Convert(decimal(18,4),SUM(b.gb92)*1.00/(SUM(sga91)*1.00)*100)  厂内不良率百分比,
       Convert(decimal(18,4),SUM(b.gb94)*1.00/(SUM(sga91)*1.00)*100)  厂外不良率百分比 ,
       Convert(decimal(18,4),SUM(b.gb92+b.gb94)*1.00/(SUM(sga91)*1.00)*100) 总不良率 
      FROM  Qcountsum a left join 
      (SELECT gb91,SUM(gb92) gb92,SUM(gb94) gb94 FROM Qcountb WHERE gb51 BETWEEN   '2014-11-01'  and  '2014-11-20'  GROUP BY gb91 ) b 
      ON a.SID=b.gb91
      WHERE   a.sga91 > 0 AND   a.sga51   BETWEEN '2014-11-01'  and  '2014-11-20'
      GROUP BY sga51 ORDER BY sga51

以上SQL执行太慢,不知道是什么原因呀, 大家帮忙优化一下吧,非常感谢.
------解决思路----------------------
     Qcountb(gb91,gb51)建上索引
      Qcountsum(sga51,sga91,SID)建上索引


语句本身没什么可优化的,在以上列建上索引再试试性能
  相关解决方案