只是为了提供一些上下文,我正在使用 Pusher(云上的 Websocket 服务)开发一个实时聊天应用程序,其中每个消息都记录在我的服务器中,然后再推送到 websocket 服务器,然后将数据推送到客户端。所以我正在使用 MySQL 来存储消息。
所以一个这样的表是我的消息,它有以下字段id,chat_payload,message_time,user_id,room_id
。
为了填充初始聊天室,我需要检索消息历史记录,其中每个消息对象都将包含username,useravatar,chat_payload,timestamp
.但它们分别useravatar,username
存储在users, user_meta
表中。因此使用连接获取运行中的数据显然看起来很昂贵,因为user_meta
表增长非常快。而且很明显在表中存储用户名、用户头像messages
似乎不正确,因为它会带来更新问题。
因此,考虑到上述情况,任何人都可以建议一个合适的数据库/应用程序设计吗?