我正在为项目构建一个小型电子邮件,例如消息传递应用程序,用户可以使用会议时间等信息向另一个人发送消息,我想知道如何存储所有消息交换。 我的问题是:
我在网站上搜索过其他类似的问题,但大多数人似乎都专注于实时消息或特定的实施技术。
感谢您的帮助!
答案 0 :(得分:1)
每个用户的表格是个坏主意。这意味着每个查询都是不同的,并且对于每个新用户,您将需要修改数据库。这对于您的数据库来说很难构建,难以维护和低效。
所以,只需将其存储在一个表中即可。如果你有适当的索引(和适当的硬件),几百万行不会成为问题。
如果您担心性能不佳,可以删除非常旧的消息。或者您可以将它们移动到“存档”表。如果用户想要查看最近的消息(过去一年左右),他们可以从普通表中获取它,并且可以从另一个消息中获取较旧的消息。通常可以接受的是,挖掘档案的速度有点慢,所以如果该表格变得非常大,它可能也可以。
那就是说,你已经提到了电子邮件。我会认真考虑检查实际电子邮件的可能性以及随附的邮箱。现有许多实现,它是一个强大的协议,从互联网的曙光开始就存活下来,所以也许你不应该重新发明轮子。
电子邮件可以包含标题(自定义标题)和多个部分,因此即使“普通”电子邮件不够用,您仍然可以使用电子邮件作为自定义消息类型的传输层