我正在编写一个应用程序,用于存储发送给mysql数据库中用户的消息。这些消息可以包含将被用户数据替换的关键字。在这个时候存在的困境是存储消息的最佳方式。
我有两个选择:
将原始邮件(包括关键字)存储在表格中,将收件人存储在另一个表格中。当我需要获取消息时,可以在显示之前进行处理。最大的问题是每次用户更改自己的数据时,消息都会有所不同。
将原始邮件(包括关键字)存储在表格和另一个表格中,以存储收件人和收到用户的邮件。缺点是可能存在重复数据,如果向20,000个用户发送相同的消息,这可能会很头疼。
答案 0 :(得分:0)
我会建议几张桌子。
message
- 表,将存储消息文本user
- 用于存储用户帐户信息的表格mail
- 要存储message_id
,user_id_from
,user_id_to
,is_read
的表格以及与特定会话相关联的其他属性。在message
表中,您应该存储消息模板。获取消息以进行显示时,应呈现该消息。如果您需要缓存,您将能够将呈现的消息版本添加到mail
表中(如果呈现将消耗太多资源)。