0

我正在开发 MySQL 数据库的结构,我遇到了一个关于其结构的小决策问题。

我有 2 张桌子:

  1. 网站上发布的所有消息。
  2. 网站上发布的所有评论。

每条消息都可以有多个与之关联的评论。在消息和与之相关的评论之间建立联系的更好方法是什么?

  1. 有一个包含相关消息 ID 的评论字段。
  2. 有一个消息字段,其中包含 json 格式的相关评论的 id 数组。

我认为通常使用第一种方法,然后使用 MySQL 查询来查找具有相应消息的 message_id 的评论。但是当有数十万条评论时,它的效率会有多高呢?

在这种情况下,解码 json 字符串并通过确切的唯一 ID 访问评论会更高效、更快速吗?

如果这很重要,我正在使用 python 作为后端。

4

1 回答 1

1

您绝对应该在评论表中添加一个消息 ID 字段。在该字段上添加索引,不会有性能问题。

该解决方案不会破坏数据库规范化,它符合逻辑且易于维护。例如,将数组存储在单个字段中破坏规范化,从而导致多个问题。

于 2013-05-20T11:44:33.853 回答