如何提高该SQL语句的执行效率

木头是猫 2009-09-18 03:55:14
SELECT cjhb, item, isnull(SUM(CASE WHEN cjcount > 0 AND 
cjdate >= '2009-06-01 00:00:00' THEN cjcount END), 0) AS cjcount,
isnull(SUM(CASE WHEN cjcount = 0 AND
xrdate >= '2009-06-01 00:00:00' THEN 1 WHEN cjcount > 0 AND
xrdate >= '2009-06-01 00:00:00' AND
cjdate < '2009-06-01 00:00:00' THEN cjcount END), 0) AS cjcount2,
MAX(CASE WHEN cjcount > 0 THEN cjdate END) AS cjdate
FROM bayhistory
WHERE item <> ''
GROUP BY item, cjhb
HAVING SUM(CASE WHEN cjcount>0 and cjdate >= '2009-06-01 00:00:00' THEN cjcount END) > 0


环境:MSSQL2000 + WINXP , 百万级数据库

在SQL查询分析器运行时间为3秒,使用索引优化向导也没有索引建议

有什么方法可以提高这SQL语句的执行效率呢?
...全文
49 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
街头小贩 2009-09-18
  • 打赏
  • 举报
回复
mark
shenzhenNBA 2009-09-18
  • 打赏
  • 举报
回复
这个问题涉及的比较多了,

最好尽少使用条件/运算函数,经常查询的列建立索引

28,390

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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