![]() |
1
1
好吧,如果你不想加入,那么把用户的名字或姓名首字母存储在友谊表上是你唯一可行的选择。您提到了每次名称更改都必须更新数千条记录的问题,但这真的是一个问题吗?除非你在谈论一个主要的社交网站,比如Facebook,或者MySpace,一般的用户 真正地 有足够的朋友来解决这个问题?然后你必须乘以一个用户改变他们名字的概率,我想这对于每个用户来说不是经常发生的事情。 如果这些更新事实上是非常重要的,那么您可以在非高峰时间对其进行后台或延迟。当然,您会牺牲到第二个精度,但实际上,大多数用户会注意到吗?大概不会。 编辑: 注意,我上面的回答只适用于你 已经 拥有这些级别的用户。如果你仍然在开发你的站点,只需要担心它是否正常工作,当问题变成实际问题时还要担心扩展问题。 |
![]() |
2
0
您还可以查看类似memcached的缓存解决方案。您可以有一个后台进程,它总是更新一个memcached哈希,然后当您需要这个数据时,它已经在内存中了。 |
![]() |
3
0
我只需加入包含名称的表,然后按名称排序。假设表布局非常正常: 表人: 身份证件, 第一名, 姓氏 表友: 自动识别器, Fuffi UsSeriID, 我的朋友, 日期 你可以这样做:
或
我真的建议在friend表中添加一个列来保留第一个字母,不需要重复这样的数据(并且必须担心保持同步),这就是join的用途。 |