日期:2014-05-18  浏览次数:20324 次

微博流行,讨论一下SNS关注好友最新动态的数据结构设计
这一阵互联网微博流行,加上新浪等微博上线测试,更是火了起来
微博一个最重要的功能就是查看自己好友的最新动态功能,
一个会员不论120还150的理论上的好友合理理论,在关注好友最新动态这个页,所有自己的好友动态都会显示出来
大一下起设计一下这个数据库的设计结构


抛砖引玉来个最简单的:
 
table1(好友表)
id 自增
user1 会员
user2 该会员的好友
...

table2(最新动态表)
id 自增(每个会员有任何操作是记录一条)
user 会员
conten 动态
...


显示最新好友动态
select top N * from table2 where user in (select user2 from table2 where user1='当前会员') order by id desc



------解决方案--------------------
table1(好友表) 
id 自增 
user1 会员 
user2 该会员的好友 
... 

table2(最新动态表) 
id 自增(每个会员有任何操作是记录一条) 
user 会员 
conten 动态 
time 时间 -- 加个时间.
... 

select t.* from table2 t where time = (select max(time) from table2 where user = t.user)

--然后关联两表,假设table1.user2 = table2.user

select m.* , n.* from table1 m ,
(select t.* from table2 t where time = (select max(time) from table2 where user = t.user)) n
where m.user2 = n.user