考虑像app这样的小Facebook。 给定一个post-id列表,sql必须提取帖子和喜欢它的用户的所有喜欢。
Like
-post_id
-user_id
User
-user_id
-and many more columns(around 9)
由于'赞'表会很大这是一个更好的解决方案吗?
A)
result=SELECT * FROM Like WHERE post_id in (post_id_list).
user_list=extract_user_id_from_result
user=SELECT * FROM user WHERE user_id in (user_list)
B)
SELECT user.* FROM User JOIN Like on(Like.user_id=User.user_id)
WHERE Like.post_id in (post_list)
答案 0 :(得分:0)
据我所知,内部连接是一种笛卡尔式,并且表现不佳。所以尝试使用子查询,我认为它更好。