假设A关注了100个人,
然后将需要 100 个连接语句,
我认为这对数据库来说太可怕了。
或者还有其他方法?
最佳答案
为什么需要 100 个连接?
您将有一个简单的表“Follows”,其中包含您的 ID 和其他人的 ID...
然后你通过加入这样的东西来检索“推文”:
Select top 100
tweet.*
from
tweet
inner join
followers on follower.id = tweet.AuthorID
where
followers.masterID = yourID
现在你只需要一个像样的缓存并确保你使用非锁定查询并且你拥有所有信息......(好吧也许添加一些用户数据到组合中)
编辑:
鸣叫
ID - tweetid
AuthorID - ID of the poster
追随者
MasterID - (Basically your ID)
FollowerID - (ID of the person following you)
Followers
表有一个基于 master 和 followerID
的复合 ID
它应该有 2 个索引 - 一个在“masterID - followerID”上,一个在“FollowerID 和 MasterID”上
关于algorithm - twitter 之类的应用程序是如何实现的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1415147/