gpt4 book ai didi

php - 如何使用多个表优化 SQL 查询

转载 作者:行者123 更新时间:2023-11-29 00:18:48 25 4
gpt4 key购买 nike

我这里有这个 SQL 查询,它获取 5 个最新的新闻帖子。我想做到这一点,这样它也可以在同一查询中获取总喜欢数和总新闻评论数。但是在处理大量数据时,我所做的查询似乎有点慢,所以我想看看是否能找到更好的解决方案。下面是:

SELECT *, 
`id` as `newscode`,
(SELECT COUNT(*) FROM `likes` WHERE `type`="newspost" AND `code`=`newscode`) as `total_likes`,
(SELECT COUNT(*) FROM `news_comments` WHERE `post_id`=`newscode`) as `total_comments`
FROM `news` ORDER BY `id` DESC LIMIT 5

这里还有一个 SQLFiddle:http://sqlfiddle.com/#!2/d3ecbf/1

最佳答案

我建议将 total_likestotal_comments 字段添加到 news 表中,只要点赞和/或评论出现,该表就会递增/递减添加或删除。

您的likesnews_comments 表应该仅用于历史目的。

不应在每次加载页面时都执行这种费力的计数,因为那完全是资源浪费。

关于php - 如何使用多个表优化 SQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21840543/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com