发送的电子邮件表格太大了

时间:2017-06-12 10:04:46

标签: mysql email

我有一个发送电子邮件的网站,整个已发送的电子邮件已保存在名为emails的mysql数据库表中。现在,emails表的大小正在快速增长。

我尝试过一些方法来减小桌子的大小。例如,我将电子邮件的正文存储为gzip ped和base64编码的字符串。但是这个表现在已经达到了7.5 GB,并且仍在快速增长。

我怎么做这似乎不是一个好习惯所以我应该如何以正确的方式存储这些电子邮件?我想把gzipped的身体存放在blob中,但我担心它不会有多大帮助。

我很高兴知道我该怎么做,或者你如何解决这个问题。

3 个答案:

答案 0 :(得分:1)

您应该在email表格中保存一次邮件内容,并管理不同表格中的所有收件人。并将旧数据存储到mongoDB中。 MongoDB是大数据的最佳选择。由cron管理的辅助数据,设置一个特定的时间范围,如二级数据库中的第二个旧数据移位。当您需要使用旧数据时,请连接mongoDB并检索数据。

去:http://www.theserverside.com/feature/How-NoSQL-MySQL-and-MogoDB-worked-together-to-solve-a-big-data-problem

http://linuxpitstop.com/migrate-mysql-to-mongodb-using-mongify-utility-linux/

答案 1 :(得分:0)

将邮件内容保存在磁盘上,并将数据库表中的引用保存到正确的文件中。只有在您不经常使用它时才有可能,当您想通过内容进行搜索时,它没有选择权,但考虑到您使用的base64编码解决方案我不会认为这样做案件。

答案 2 :(得分:0)

我们通常将发送的电子邮件移动到sentemail表中的不同数据库。与大多数情况一样,我们不需要将发送的电子邮件用于任何搜索条件。我们把每个周末和上周运行的工作都转移到不同的数据库进行存档。在当前的实时数据库中,只存储了一周的电子邮件,PK一直在计算自系统启动以来已发送的电子邮件数量