想要改进这个问题吗? 更新问题,使其只关注一个问题 editing this post .
关闭 6 年前。
我正在构建一个聊天应用程序,并且我想要在聊天对话中发送的所有消息的完整历史记录。目前,我将每条消息作为单行存储在名为“消息”的表中。我知道这个表可能会变得很大,因为即使是像“Hi”这样的小消息也会有自己的数据库记录。
谁能推荐一个更具扩展性的mysql解决方案?我不要求单个消息是可搜索、可编辑或可删除的。整个对话是否可以存储在一个巨大的字段中?
很想听听你的想法!
最佳答案
将整个历史记录保存在数据库中并没有错,它们已为此类任务做好了准备。
实际上,您可以在 Stack Overflow 中找到聊天示例架构的链接:example
如果您仍然担心大小,您可以对分组消息应用一些优化,例如为您的应用程序添加一个缓冲区,您只在一段时间后(比如 1 分钟左右)推送;这样你就可以避免只有 1 行消息
https://stackoverflow.com/questions/7063051/