gpt4 book ai didi

php - 优化MYSQL(三)表连接查询

转载 作者:行者123 更新时间:2023-11-29 05:45:52 26 4
gpt4 key购买 nike

在我的一些查询测试中运行 EXPLAIN 导致 ALL 连接变慢,即使使用索引也是如此。
如何使包含以下信息的 MYSQL 查询更高效?

Tables

counter: id (pk), timestamp, user_id (fk)
user: id (PK), username, website_id (fk)
website: id (pk), sitename

SELECT t2.username, t3.sitename, count(*) as views FROM counter t1
LEFT JOIN user t2 ON t2.id = t1.user_id
LEFT JOIN website t3 ON t3.id = t2.website_id
WHERE t1.id <> ""
GROUP BY t1.id
ORDER BY t1.id DESC

html 表格中的结果:

username, sitename, counter_views

最佳答案

不要count(*),而是使用count(t1.id)

问题编辑更改

对于问题编辑,您应该在要计算的内容的计数语句中放置一个列名,例如计数(用户.id)

我相信sql是错误的。你不想要这个吗:

select u.username, s.sitename, count(c.id)
from user u
join website s on u.website_id = s.id
join counter c on u.id = c.user_id
where u.id <> ""
group by u.username, s.sitename
order by u.id desc

关于php - 优化MYSQL(三)表连接查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2170910/

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