帮忙看看这个SQL怎么优化一下?谢谢了

DDRsun3 2013-10-10 03:37:29
  select A =
(select COUNT(*)from Activity where CrtUserID = 178864 and State = 0) *
(select CKey1 from Category where CategoryID = 1004) +
((select COUNT(*) from ActivityCmt where CrtUserID = 178864 and State = 0) + (select COUNT(*) from TopicCmt where CrtUserID = 178864 and State = 0) +(select COUNT(*) from PhotoCmt where CrtUserID = 178864 and State = 0)) *
(select CKey1 from Category where CategoryID = 1006) +
((select COUNT(*) from ActivityPhotos where CrtUserID = 178864 and State = 0) + (select COUNT(*) from Photos where CrtUserID = 178864 and State = 0)) *
(select CKey1 from Category where CategoryID = 1015) +
(select COUNT(*) from Topic where CrtUserID = 178864 and State = 0) *
(select CKey1 from Category where CategoryID = 1001) +
(select COUNT(*)from Tweet where CrtUserID = 178864 and State = 0) *
(select CKey1 from Category where CategoryID = 1002)


谢谢各位搭救了~~
...全文
285 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
醉爱梁静茹 2013-10-22
  • 打赏
  • 举报
回复
没有业务表之间的关系,没有执行计划,不好办啊,亲
  • 打赏
  • 举报
回复
这个对where后面的字段做好索引就是优化
demonapple 2013-10-18
  • 打赏
  • 举报
回复
这种计算类的语句不可能优化。 楼主应该也是编程的,可以像程序一样写成函数。
zmn0079 2013-10-13
  • 打赏
  • 举报
回复
引用 2 楼 ddrsun 的回复:
[quote=引用 1 楼 u012174761 的回复:] 离开了表结构,索引字段,数据分布和业务要求的优化,都是耍流氓
这~~什么意思?不懂~~[/quote] sql优化说白了是算法针对当前业务逻辑和数据分布的一种固化算法 离开了这些,剩下能做的就不多了,无非就是建建索引,建建分区表什么的
l527391549 2013-10-11
  • 打赏
  • 举报
回复
太乱!懒得看!建议写成存储过程!把数据存入临时表!
  • 打赏
  • 举报
回复
一堆没任何联系的表 怎么优化? sql是不能下手 只能从其他方面考虑了...
DDRsun3 2013-10-11
  • 打赏
  • 举报
回复
引用 1 楼 u012174761 的回复:
离开了表结构,索引字段,数据分布和业务要求的优化,都是耍流氓
这~~什么意思?不懂~~
zmn0079 2013-10-10
  • 打赏
  • 举报
回复
离开了表结构,索引字段,数据分布和业务要求的优化,都是耍流氓

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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