亲爱的数据库专家/程序员:
我有一个带有用户信息的mysql表,例如
id user_id name etc.
1 userA
2 userB
3 userC
.. ..
.. ..
Run Code Online (Sandbox Code Playgroud)
我想创建一个像'跟随'其他用户的功能,如twitter.userA可以关注userB,或者userB可以关注userA,或者两者都可以互相关注.为此,我应该创建1个表,让我们说追随者
id user_id follower_id
1 userA userB
2 userC userA
3 userA userC
4 userB userC
5 userX userA
Run Code Online (Sandbox Code Playgroud)
现在我想找到谁跟随userA.我是这样的:从追随者中选择*,其中user_id = userA这将选择userB和userC.多数民众赞成我所需要的.
现在我想找到,userA正在关注哪些人(例如在上表中,userA跟随userC和userX.然后我应该从follower_id = userA的关注者那里运行类似Select*的东西.
我的问题是,这个数据库设计是否适合这个问题(考虑到数据库冗余和优化?)或者可以采用比这更好的方法?谢谢.