gpt4 book ai didi

php - 标签和 MySQL - 速度和可用性

转载 作者:行者123 更新时间:2023-11-29 14:45:37 26 4
gpt4 key购买 nike

所以我正在尝试建立一个需要使用标记的网站(您知道,输入描述此页面的关键字)。

标签最终将存储在 MySQL 的(a)行中(并且 php 将存储它们,只是一条额外无用的信息),我们 - 我的团队 - 正在尝试找出哪种方式是存储标签的最快方式:

  1. 相关 SQL 表中有 4 个单独的列(考虑到我们将标签限制为 4 个,这是一个完全可行的解决方案)
  2. 1 列,这是一个逗号分隔的标签列表(然后我们可以选择更改限制)

本质上,我们想知道哪种方式更快,考虑到我们需要能够使用标签执行以下操作:

  • 搜索单个标签或多个标签
  • 在搜索中仅匹配完整匹配项(即标签“truck”不应与标签“firetruck”匹配)
  • 屏蔽标签(即用户可以搜索“landscape -waterfall”)

感谢您的建议。

P.s.我知道this post ,不,它根本没有帮助

最佳答案

假设您有一个 Foo 表,其中包含要标记的主要内容,我建议您添加一个 Tag 表。标签有一个 ID、标签字符串,也许还有一个描述字段,您可以在其中描述标签的实际含义。

然后创建一个名为 FooTag 的联接表,该表具有主键 ID 列、您要标记的 Foo 记录的 ID 以及您要标记的标签的 ID。与 Foo 和 Tag 的外键关系以确保完整性。

现在您可以一次查找 1 到 N 个标签的所有记录,您可以查找 Foo 所标记的所有标签,依此类推。每个 Foo 不限于四个标签。而且您不必在任何查询中指定四个不同的列来找出正在使用的标签。

关于php - 标签和 MySQL - 速度和可用性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7017884/

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