当前位置: 代码迷 >> Sql Server >> 像小弟我这样的SQL该怎么优化呢
  详细解决方案

像小弟我这样的SQL该怎么优化呢

热度:1   发布时间:2016-04-24 23:34:49.0
像我这样的SQL该如何优化呢?
SELECT SUM(Amount) AS SumAmount, SUM(( Amount * (UX/100) )) AS RUX, SUM(( (Amount * (UX6/100)) -  ( Amount * (UX/100) ) )) RUX6 FROM Order;

像SUM这种计算还有7个列~10个列。

如果能加速呢?

如果每一个都计算好,放到另一个表,我的业务流又是很麻烦的了,要一条一条拿出来计算。现在只能在SQL进行计算。但是速度不怎么好。像这样,有什么办法优化呢?

------解决方案--------------------
你这个慢应该不是在多少列上面,而是缺少where条件和group by条件,导致全表运算,当表数据很大的时候,自然速度就低,一般对聚合函数的优化建议是在对应的列上加索引,如果有group by,group by用到的列也加索引。

如果不是经常要运算的数据,比如你每天才汇总一次,那么完全可以在每天晚上0点再执行,然后存到一个表中供明天使用。

另外,一般的性能优化着手点是执行计划,所以如果你觉得慢,最好提供你的执行计划看看
  相关解决方案