mysql 优化代码 悟空你写的你来看看,老板说这太长了~~~

qq_34354426 2017-08-24 11:21:02
select * from (
SELECT cms.id,u.headIcon,u.userName,cms.comment_time,t.likecount,cms.comment,cms.parent_id
FROM cms_content_comments cms
LEFT JOIN ( SELECT parent_id ,
COUNT(1) AS likecount
FROM cms_content_comments
WHERE news_id = '1'
AND like_it = 1
GROUP BY parent_id
) t ON cms.id = t.parent_id
LEFT JOIN user_center_app_userinfo u
ON u.id=cms.user_id
LEFT JOIN user_center_app_userinfo s
ON s.id=cms.parent_id
WHERE comment <> ''
AND comment IS NOT NULL
ORDER BY t.likecount DESC,comment_time desc limit 3) as t1

union

select * from (
SELECT cms.id,u.headIcon,u.userName,cms.comment_time,t.likecount,cms.comment,cms.parent_id
FROM cms_content_comments cms
LEFT JOIN ( SELECT parent_id ,
COUNT(1) AS likecount
FROM cms_content_comments
WHERE news_id = '1'
AND like_it = 1
GROUP BY parent_id
) t ON cms.id = t.parent_id
LEFT JOIN user_center_app_userinfo u
ON u.id=cms.user_id
WHERE comment <> ''
AND comment IS NOT NULL
ORDER BY comment_time desc limit 0,10)t2



有没有什么办法优化一下啊~~~~~

...全文
203 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
「已注销」 2017-08-28
  • 打赏
  • 举报
回复
吉普赛的歌 2017-08-24
  • 打赏
  • 举报
回复
;WITH cte AS (
SELECT cms.id,u.headIcon,u.userName,cms.comment_time,t.likecount,cms.comment,cms.parent_id
FROM cms_content_comments cms
LEFT JOIN ( SELECT parent_id ,
COUNT(1) AS likecount
FROM cms_content_comments
WHERE news_id = '1'
AND like_it = 1
GROUP BY parent_id
) t ON cms.id = t.parent_id
LEFT JOIN user_center_app_userinfo u
ON u.id=cms.user_id
LEFT JOIN user_center_app_userinfo s
ON s.id=cms.parent_id
WHERE comment <> ''
AND comment IS NOT NULL
)
SELECT * FROM cte ORDER BY likecount DESC,comment_time desc limit 3
UNION
SELECT * FROM cte ORDER BY comment_time DESC limit 0,10


不过, MySQL 似乎要 8.0 才支持 CTE:
顺势而为1 2017-08-24
  • 打赏
  • 举报
回复
老板是内行吗 ?
zhouyuehai1978 2017-08-24
  • 打赏
  • 举报
回复
优化一般只看效率吧,和长度有什么关系
「已注销」 2017-08-24
  • 打赏
  • 举报
回复
二月十六 2017-08-24
  • 打赏
  • 举报
回复
要不那个前三名的存一个临时表,记录所有新闻的前三评论。省着统计耗时,还有现在是有性能问题么?还是就是看着长?

588

社区成员

发帖
与我相关
我的任务
社区描述
提出问题
其他 技术论坛(原bbs)
社区管理员
  • community_281
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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