mysql - 将聊天消息存储在数据库中的最佳方法?

我正在构建一个聊天应用程序,并且我想要在聊天对话中发送的所有消息的完整历史记录。目前,我将每条消息作为单行存储在名为“消息”的表中。我知道这个表可能会变得很大,因为即使是像“Hi”这样的小消息也会有自己的数据库记录。

谁能推荐一个更具扩展性的mysql解决方案?我不要求单个消息是可搜索、可编辑或可删除的。整个对话是否可以存储在一个巨大的字段中?

很想听听你的想法!

最佳答案

将整个历史记录保存在数据库中并没有错,它们已为此类任务做好了准备。

实际上,您可以在 Stack Overflow 中找到聊天示例架构的链接:example

如果您仍然担心大小,您可以对分组消息应用一些优化,例如为您的应用程序添加一个缓冲区,您只在一段时间后(比如 1 分钟左右)推送;这样你就可以避免只有 1 行消息

https://stackoverflow.com/questions/7063051/

相关文章:

mysql - 从另一列计算的列?

mysql - 查找和替换整个 MySQL 数据库

mysql - phpmyadmin.pma_table_uirefs 不存在

mysql - 如何在 Amazon RDS 数据库服务器实例上运行命令 "mysqladmin f

MySQL - 使用 LIMIT 更新查询

mysql - 将主机访问权限重新分配给 MySQL 用户

mysql - 如何使用时区信息在 MySQL 中存储日期时间

mysql - 在 Windows 7 上重新启动 mysql 服务器

mysql - 在 MySQL 查询中结合 UNION 和 LIMIT 操作

sql - MySQL:ORDER BY RAND() 的替代方案