聊天系统架构设计的建议

时间:2014-01-15 10:31:49

标签: sql-server schema chat

我需要有关sql表架构的建议。我已经打开一个表并将其命名为Chats,添加两列(如ID和消息)或者包含ID和消息的列会更好吗?哪一个会更快地工作

2 个答案:

答案 0 :(得分:3)

我个人将其建模为两个表:

Chats
 - ID
 - Name

Messages
 - ID
 - ChatID
 - Message
 - SentDate

从Messages.ChatID到Chats.ID应该有一个外键。

否则,每当有人发送消息时,您将不得不创建重复聊天。

我强烈建议不要将ID和值保留在同一列中,这使得几乎无法加入,并会在以后创建各种问题。

答案 1 :(得分:1)

没有理由使用单个列。添加尽可能多的列,每个列都有自己的数据类型,因为您以后可以按每个列过滤和排序表。您还可以根据需要添加约束,索引,统计信息等。

如果您使用单独的列,则对该表执行的任何查询都将更快地运行。