我在SQL Server 2008R2中创建了一个表来将所有发送接收消息存储在应用程序中,因此所有聊天消息都将存储在该单个表中供所有用户使用。随着时间的推移会变得缓慢,因为会有很多用户的记录。处理这个问题的最佳方法是什么?另外,对于您的信息,我在.net。
中使用了SQL Server的实体框架技术答案 0 :(得分:0)
可能,是的,它可能会变慢。
实际上 - 如果您使用索引并且在表中具有100M行(或更少),则对于正常操作(例如,向用户显示最近发送的消息等)应该不是很大。在这种情况下,特别需要date
和userId
字段的索引。
以下是有关如何使用索引的一些详细信息:http://technet.microsoft.com/en-us/library/ms188783.aspx
答案 1 :(得分:0)
您在这里谈论聊天消息,这让我觉得您不是在谈论电子邮件,通常有发件人和一个或多个接收者。
然后,我会建议您添加聊天会话'表,其中每个聊天将使用唯一标识符进行标识。然后,所有聊天消息都会有一个chatId字段,因此您可以轻松找到聊天会话期间发送的所有消息。
然后可以从您的消息表中检索与您的聊天相关的其他相关信息,例如:
只要表格被正确编入索引,并且您的硬件设置为满足您的数据库需求,您的数据库 就不会 变慢。
无论如何,这绝对是处理这种情况的最好方法。