在单个数据库表存储不同的聊天信息

问题描述 投票:1回答:2

我正在聊天网站上。我怎么能存储2个不同的聊天消息。我一定要创建一个新的表中的每个聊天,或者我可以有一个表,用于存储所有的聊天记录?

将后来的做法,从长远来看(即在搜索过程中)受到影响,因为所有的消息将从此表中的每个用户打开他的聊天时间进行检索?

database chat messages
2个回答
3
投票

以下是我会建议,只使用一个表,用于存储信息,您将需要为维护等相关数据几个表。也可治疗一对一的聊天也作为群聊唯一的区别是它被看作是仅1-1最终用户。

以下仅仅是基本的结构,让你开始,在实际你将不得不添加更多的列或改变结构,以支持数据同步,读,交付收件人,附件等

Table: User
Columns: userId, name, image and other user info columns

Table: Group
Columns: groupId, name

Table: Group_User_X
Columns: groupId, userId

Table: Message
Columns: messageId, senderUserId, groupId, content

现在,加载任何给定用户的消息,你可以简单地加入Group_User_X和信息表,并获取用于在用户所属的组的消息。

如果您需要任何进一步的帮助,您可以在[email protected]与我联系


0
投票

聊天应用程序服务器端数据库

客户端和服务器之间的数据传输与单个令牌密钥处理。这里的服务器端脚本以响应于在用户装置中进行的动作传递内容(消息)的服务器,而不是客户端的服务器上运行。

Server side database architecture

客户端数据库的聊天应用程序

图示说明了消息传输流,其中服务器通过访问令牌密钥服务数据给客户端设备的传输。此外,客户端设备将请求发送到多个服务器与客户端的令牌密钥来访问该消息。

Client side database architecture

© www.soinside.com 2019 - 2024. All rights reserved.