嘿伙计们我觉得很难相信Facebook使用简单的sql,当然它会使用其他一些方法,但我们现在假设它确实使用sql代码如何吸收“墙”工作?
让我们说有三个表(仅用于示例)
朋友:id(输入密钥) - uid(你的id) - fid(你的伙伴的id)
Wall:id(输入键) - 用户名 - comment - time - commentcount
评论:id(输入键) - wid(墙壁ID(原始评论)) - 回复 - 时间
让我们忘记相似的部分和报告等,以及mod事物(ip,禁令等)。这将如何工作?
选择wall.id,wall.username,wall.comment,wall.time,wall.commentcount,comments.wid,comments.reply,comments.time FROM wall inner join comments on wall.id = comments.wid ORDER BY wall.time;
这是你自己的墙,但他们如何得到朋友的?一堆工会?
答案 0 :(得分:1)
在这里,您可以找到有关Facebook(和许多其他BIG网站)如何运作的更多信息。
答案 1 :(得分:0)
好吧,作为社交网站的创始人,让我解释一下。你接近正确...关于他们如何结交朋友的问题,在mysql情况下,他们会在他们的朋友表中他们的id匹配时循环通过他们的所有朋友。然后他们将循环注释WHERE每个朋友id匹配我的情况下的用户ID,也就是$ _SESSION ['user_id'] = uid。但请记住,不仅是while循环上的注释,而且查询也在while循环中,因此它不仅查询登录user = uid的一个实例。