我正在构建一个简单的社交网络,其中包含以下架构(我没有包含表中的所有字段,仅包含相关字段):
tbl_users:
id
username
tbl_friends:
user_id FK tbl_users.id
friend_id FK tbl_users.id
tbl_questions:
id
user_id
title
date_created
tbl_answers:
id
question_id
body
我想要的是检索属于用户朋友的所有问题,每个问题限制为 3 个答案。结果将有效率的限制,比如说我朋友的最后 5 个添加问题。如果有人可以提供帮助,我想要一个可扩展的解决方案。我设法通过 2 个查询来做到这一点:第一个查询找到我所有的朋友 SELECT id FROM tbl_friends WHERE user_id=:id ORfriend_id=:id
之后,我将结果用于 WHERE IN 子句来仅获取问题。我无法得到答案,我为每个答案做了一个选择。我的解决方案效率低下且不可扩展,我想为我的问题找到更好的解决方案。
我也不得不问这个......在这种情况下noSQL会更好吗?