SQL语句如何优化

tinachen_x 2007-07-31 03:49:56

在数据量非常大的情况下,用sum(case when a.date = '20070731' then a.ye end)类似这样的聚合函数是不是会很影响查询速度
有没有优化的办法?
...全文
220 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
masse 2007-08-01
  • 打赏
  • 举报
回复
如果效率低,就写个函数或者存储过程,取三次。

比如你上面的语句,
你写三条select sum(a.ye) from table where a.date='20070731'
都比你上面那条效率高得多。
tinachen_x 2007-07-31
  • 打赏
  • 举报
回复
谢谢楼上的,可是如果我要查询的语句:
select a.name,sum(case when a.date = '20070731' then a.ye end)
,sum(case when a.date = '20070631' then a.ye end)
,sum(case when a.date = '20060731' then a.ye end)
from people a where a.date in ('20070731' ,'20070631' ,'20060731' )
现实用的时候people表还关联了很多个相关的表.
这样如何优化?
masse 2007-07-31
  • 打赏
  • 举报
回复
select sum(a.ye) from table where a.date='20070731'

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧