gpt4 book ai didi

以更有效的方式使用 SELECT IN SELECT 进行 mysql 查询

转载 作者:太空宇宙 更新时间:2023-11-03 12:06:17 25 4
gpt4 key购买 nike

请帮助我优化有关获得电影推荐 (rec) 的查询。我有很多记录,查询运行很慢。以下查询运行 2 分钟

   SELECT rec.toMovieID, sum(rec.score) 
FROM rec
WHERE movieID in
(SELECT movieid as movieID FROM userFavorites as ufv WHERE ufv.userid = 29)
GROUP BY rec.toAMovieID
ORDER BY rec.score DESC
LIMIT 10

你觉得我还能再优化一下吗?

最佳答案

您可以使用内部连接而不是子选择

SELECT
rec.toMovieID,
sum(rec.score)
FROM rec INNER JOIN userFavorites ON rec.movieID = userFavorites.movieid
WHERE
userid = 29
GROUP BY rec.toAMovieID
ORDER BY rec.score DESC
LIMIT 10

您应该在 where 子句中为行设置索引,至少对于 movieid 和 userid。 (如果还没有完成)

关于以更有效的方式使用 SELECT IN SELECT 进行 mysql 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26454061/

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