【问题标题】:Which of the two ways should I use to insert tags into mysql?我应该使用哪两种方式将标签插入mysql?
【发布时间】:2010-05-14 03:27:44
【问题描述】:

对于每个广告,我最多允许用户选择 5 个标签。现在,在我的数据库中,我有...

Posting_id     TagID
    5            1
    5            2 
    5            3
    6            5
    6            1

但我在想我是否应该让它像......

    Posting_id     TagID
    5              1 2 3 
    6              5 1

那么第一个选项更容易插入和检索数据。但是如果我有 100 个帖子,每个帖子有 3 个标签,那就是 300 行......所以更多的行

第二个选项需要使用explode() impode()等,但它更干净。

我应该选择哪个选项,为什么?谢谢!

编辑:第一种方法更好!

【问题讨论】:

    标签: php mysql tags


    【解决方案1】:

    使用第一个选项,因为第二个选项很难有效地索引TagID 列。如果您想查询存储在 TagID 列中的特定数值的数据(我打赌您会的),第二个选项的性能会很差。

    【讨论】:

      【解决方案2】:

      按照第一种方式。行很便宜,mysqsl 可以处理数百万行的表。此外,第一种方式将他的 ID 保留为整数,这可以使以后使用表更容易(例如,在进行连接和引用外键时)。

      【讨论】:

      • 是的,我没看到。第一种方法是计算我拥有的标签数量会容易得多。
      【解决方案3】:

      第一个。你会意识到,当你必须“用这些标签计算所有主题,而不是用这些其他标签计算所有主题”时。

      【讨论】:

        【解决方案4】:

        第二种方法打破了数据库规范化的第一条规则。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2021-12-07
          • 2020-08-12
          • 1970-01-01
          • 2011-10-30
          • 1970-01-01
          • 1970-01-01
          • 2016-12-14
          • 2011-07-08
          相关资源
          最近更新 更多