2014-07-20 75 views
0

考慮像應用程序的小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

那麼,你試過了嗎? – Strawberry

+0

我現在擁有的數據不夠大,無法發現差異。我正在製作應用程序並熱衷於瞭解 –

回答

0

我所知,內部聯接是一種笛卡爾的,它不是劑量不錯的表現。所以儘量使用子查詢,我認爲它更好。