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)建上索引
语句本身没什么可优化的,在以上列建上索引再试试性能