如何应用像twitter这样的应用程序?

omg*_*omg 3 algorithm twitter

假设A跟随100个人,

然后将需要100个连接声明,

我认为这对数据库来说太可怕了.

或者还有其他方法吗?

Hei*_*eld 6

为什么你需要100个连接?

您将有一个简单的表"跟随"您的ID和其他人ID ...

然后你通过加入这样的东西来检索"推文":

Select top 100 
    tweet.* 
from 
    tweet 
inner join 
    followers on follower.id = tweet.AuthorID 
where 
    followers.masterID = yourID
Run Code Online (Sandbox Code Playgroud)

现在你只需要一个体面的缓存,并确保你使用非锁定查询,你有所有信息......(好吧,可能会添加一些用户数据到混合)

编辑:

鸣叫

ID - tweetid
AuthorID - ID of the poster
Run Code Online (Sandbox Code Playgroud)

关注

MasterID - (Basically your ID)
FollowerID - (ID of the person following you)
Run Code Online (Sandbox Code Playgroud)

Followers表具有基于master的复合ID,followerID 它应该有2个索引 - 一个在"masterID - followerID"上,一个在"FollowerID和MasterID"上