我有一张包含项目的表格和一张包含可链接到项目的标签的表格。我应该创建一个表来存储它们之间的关系,还是可以将标签 ID 直接存储在项目表中,例如包含“1,52,375”(标签 ID)的列。
在大多数情况下,我会倾向于使用关系表,但我通常会为每个项目添加一个标签,最多 10 个,所以我想知道这是否值得。
如果使用关系表,我需要一个“循环中的循环”,其中我对每个项目进行一个查询来获取标签。似乎有很多疑问,还是有不同的解决方案?
我还可以在两个查询中分别获取所有项目和标签,并将它们与 php 链接起来。也是循环中循环,但数据库查询较少。
你觉得怎么样?谢谢!
最佳答案
我以前遇到过这个问题,我目前最好的解决方案是让标签表和标签列用空格分隔(实际标签中的空格用#替换)。然后使用 MySQL MATCH AGAINST 在标签列中执行自然语言搜索所需的标签,# 字符将被匹配忽略,因此这不是问题。到目前为止,这对我来说非常有效。
关于php - mysql/php 标签的最佳性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44400830/