gpt4 book ai didi

php - 这种标记方法的任何缺点

转载 作者:搜寻专家 更新时间:2023-10-30 21:54:29 25 4
gpt4 key购买 nike

我有一张标签

的表格
ID      tag
--- ------
1 tagt
2 tagb
3 tagz
4 tagn

在我的 items 表中,我使用的是序列化格式的标签,逗号分隔

ID       field1       tags
---- ------ -----
1 value1 tagt,tagb
2 value2 tagb
3 value3 tagb,tagn
4 value4

当我需要查找具有此标签的项目时,我计划对标签进行反序列化。但我实际上不确定该怎么做,以及是否最好在标签和项目之间使用第三个关联表。

最佳答案

一般来说,人们会尝试利用关系数据库的力量来发挥自己的优势。换句话说,每次访问任何标记功能时都对 string 进行序列化和反序列化,这不仅效率低得令人难以置信,而且由于其他原因也是糟糕的设计。

例如,如果不小心将(未定义的)标签 tagc 添加到 itemtags 字段中怎么办?代码将很难调试。

创建包含关联 ID 记录的第三个表是一个更好的选择。此外,您可以创建如下所示的 taggings 表:

ID    item_id    tag_id    tagger_id    etc
-------------------------------------------

并将元数据与每个标记一起存储。

过度依赖字符串来存储结构化数据既低效又难以维护。为了避免“字符串类型”代码,在这些情况下进一步对域建模会更好。

关于php - 这种标记方法的任何缺点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2901540/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com