为什么我不能将电子邮件正文存储在关系数据库中?

时间:2018-05-26 14:10:53

标签: sql relational-database

假设我定义了一个表users,其中包含一个电子邮件消息列,我将整个消息转储为字符串。

这将是丑陋和混乱,但它会起作用吗?这样做的后果是什么?

我在问,因为我读到非结构化数据无法存储在关系数据库中,而且电子邮件正文非常非结构化,但它本身只是一个字符串。

1 个答案:

答案 0 :(得分:1)

是的,您可以将整个电子邮件放入数据库中的“text”或“string”列。

更好的是,许多数据库都支持文本搜索功能。因此,您可以构建文本索引,并能够有效地搜索电子邮件正文。

缺点是行数较大,使用表格可能会减慢速度。如果重复发送电子邮件,那么您可能需要一个单独的电子邮件表,其中id表示文本。另一个表格将显示哪些用户收到了哪封电子邮件。