这个sql语句可以优化下么?

yue547283947 2012-04-24 10:30:32
select CLASS_ID,CLASS_NAME,CLASS_INFO,TOPIC_ID,CLASS_LASTTITLE,CLASS_LASTTIME,CLASS_LASTUSER,USER_TYPE,
(select count(TOPIC_FORUMID) FROM KY_FORUM_TOPIC where TOPIC_FORUMID=CLASS_ID)as aa,
(select count(TOPIC_FORUMID) FROM KY_FORUM_TOPIC where TOPIC_FORUMID=CLASS_ID
and TOPIC_TIME>=to_Date('2012-4-24 0:00:00','yyyy-mm-dd HH24:mi:ss')) as bb,
(select count(REPLY_ID) FROM KY_FORUM_REPLY where REPLY_CLASSID=CLASS_ID)as cc
FROM KY_FORUM_CLASS where CLASS_STATE=0 and CLASS_TYPE=1 order by CLASS_SORT

这个执行完毕2秒多。。。能不能再快点?
...全文
100 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
啊彪123 2012-04-24
  • 打赏
  • 举报
回复
select CLASS_ID,CLASS_NAME,CLASS_INFO,TOPIC_ID,CLASS_LASTTITLE,CLASS_LASTTIME,CLASS_LASTUSER,USER_TYPE,
(select count(TOPIC_FORUMID) FROM KY_FORUM_TOPIC where TOPIC_FORUMID=CLASS_ID)as aa,
(select count(TOPIC_FORUMID) FROM KY_FORUM_TOPIC where TOPIC_FORUMID=CLASS_ID
and TOPIC_TIME>=to_Date('2012-4-24 0:00:00','yyyy-mm-dd HH24:mi:ss')) as bb,
(select count(REPLY_ID) FROM KY_FORUM_REPLY where REPLY_CLASSID=CLASS_ID)as cc
FROM KY_FORUM_CLASS where CLASS_STATE=0 and CLASS_TYPE=1 order by CLASS_SORT


select a.*,b.* FROM KY_FORUM_CLASS a,KY_FORUM_REPLY b where CLASS_STATE=0 and CLASS_TYPE=1 order by CLASS_SORT

使用这种方式。你上面的方式分3次遍历了大表,而且还放内存,所以慢!
yue547283947 2012-04-24
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
加索引试试
[/Quote]

数据最多也就几千行。。。。KY_FORUM_CLASS 表永远只有4行。。。

这个要加索引?
纯净水呐 2012-04-24
  • 打赏
  • 举报
回复
加索引试试
loveofmylife 2012-04-24
  • 打赏
  • 举报
回复
KY_FORUM_CLASS 表永远只有4行
KY_FORUM_TOPIC 表和KY_FORUM_REPLY这个表可以考虑在TOPIC_FORUMID和REPLY_CLASSID上建立位图索引
sql上不知道怎么优化
ICE-word 2012-04-24
  • 打赏
  • 举报
回复
(SELECT COUNT(TOPIC_FORUMID)
FROM KY_FORUM_TOPIC
WHERE TOPIC_FORUMID = CLASS_ID) AS AA,
(SELECT COUNT(TOPIC_FORUMID)
FROM KY_FORUM_TOPIC
WHERE TOPIC_FORUMID = CLASS_ID
AND TOPIC_TIME >=
TO_DATE('2012-4-24 0:00:00', 'yyyy-mm-dd HH24:mi:ss')) AS BB,
(SELECT COUNT(REPLY_ID)
FROM KY_FORUM_REPLY
WHERE REPLY_CLASSID = CLASS_ID) AS CC



这里用case when 感觉会快点吧!!至少不用走3次全表

17,377

社区成员

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

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