| |
题目如下:某交友网站,约有会员1000W,每个会员都可能是另一个会员的好友,请您设计一个数据库,用来表示这种好友关系。数据库使用Mysql。

我的设计思路如下:
建立一个表,暂定名称为Friends,含3个自段

id,自动增加,做为索引
uid,用户的id
fid,用户的好友id

如果限定每个会员最多可以添加500个好友,那么这个表的记录最多将会达到1000W*500,也就是 500亿条记录,这样的话,数据库的查询效率是会非常非常低的。

请问大家,还有更好的设计方法吗?

这是我后来想到的分表存储

回来后我才想到可以分表存储,为了保证每个表的记录不超过2000w条,那么可以根据UID来分表,每个表中最多含有4w个uid,总共将分为250个表,不知道这样的效率会不会提高很多呢,继续向大家请教
Tags:
by admin | 来自 本站原创 | 不指定 2007-12-22 12:25 | 分类: PHP | 评论(2) | 引用(85) | 阅读(1378)
ren
2008-1-26 10:30
做个索引表,比如以用户的uid段分段做为索引。然后在分表存储相关数据。
2007-12-22 19:56
已看过zan
分页: 1/9 第一页 1 2 3 4 5 6 7 8 9 下页 最后页
发表评论
表情
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
打开HTML
打开UBB
打开表情
隐藏
记住我
昵称   密码   游客无需密码
网址   电邮   [注册]