【发布时间】:2018-01-19 12:38:05
【问题描述】:
我有三个表:用户(id)、项目(id_project、owner_id)和关注者(repo_id、user_id)。我想计算一个项目有多少粉丝。我想退回所有用户项目,无论是否有关注者。
在哪里: id = owner_id = user_id id_project = repo_id
我在我的查询中报告了 1000 多个用户。我这样做了:
rs = dbSendQuery(mydb, "select p.id_project, p.owner_id, count(f.user_id) from users u left outer join projects p on p.owner_id = u.id and u.id in (123, 526, 852) left outer join followers f on p.id_project = f.repo_id group by p.id;")
查询太慢了。谁能给我任何建议以使查询更快?我是不是做错了什么?
也许,我可以分成两个查询,但是我如何获得第一个查询的结果(这是用户的项目)并添加第二个查询(我将有项目的关注者数量)在 R 中?
我正在使用 R 和 mysql。
问候, 塔西亚娜
【问题讨论】:
标签: mysql sql r left-join query-performance