我正在为即将成为我的社交网站版本的东西建立一个数据库。现在,我想存储朋友关系,有点像 facebook。我应该提到我正在为此使用 MySQL。
所以我正在考虑做这样的事情:
UserFriends
(
UserFriendID SOME_DATA_TYPE NOT NULL AUTO_INCREMENT PRIMARY KEY,
UserID BIGINT(20) UNSIGNED NOT NULL,
FriendID BIGINT(20) UNSIGNED NOT NULL -- This is basically the same as UserID
)Engine=InnoDB;
现在,我正在寻找某种类型的数据类型用于该表的主键,因为我预计会有大量记录,我想要某种类型的索引来加速任何类型的查找我可能会做的记录。比如朋友推荐功能等。
我愿意接受建议。在我看来,另一个更难管理的选择是为每个用户动态创建一个单独的表并将他们的朋友存储在其中,但是这对于代码管理来说是一场噩梦。