【发布时间】:2012-04-14 18:38:36
【问题描述】:
我正在开发一个聊天网站。我正在使用 asp.net 和 SQL Server 2008
这个想法和普通的聊天网站一样。我的问题是,我不明白如何创建一个好的数据库设计。
我对带有 SQL Server 的 vb asp.net 有很好的了解。
在我的项目中,我创建了一个用于添加新用户的表,其中包含 ID, uName, uPassoword 和 uDetail 列。
然后....我创建了一个名为User_Friends (uName , uFriendName) 的表。
假设当用户“abc”添加新朋友时,它将关系 uName = “abc” 和 uFriendName =“xyz” 保存在此表中,所有其他用户都会这样做添加朋友,所有数据将放在一个表中(User_Friends)。谁是谁的朋友信息的所有详细信息都在这个User_Friends 表中。
我的问题是:
- 但是如果有 10000 个或更多用户并且每个用户在 DB 中添加许多朋友作为朋友怎么办。
- 如果我想将每个用户聊天保存在数据库中,也是如此。我应该为所有用户的聊天记录使用一张表还是其他什么。
那么从一张表中获取详细信息是否会是一个缓慢的过程?
请建议我如何设计数据库或给我一些有用的链接以寻求帮助。
【问题讨论】:
-
通常在 SQL Server 中,您需要良好的数据库设计和良好的索引策略,然后您就可以为每个表处理数以百万计的行 -这肯定不是瓶颈!