gpt4 book ai didi

sql - 标签数据库设计

转载 作者:行者123 更新时间:2023-12-03 04:17:44 24 4
gpt4 key购买 nike

您将如何设计数据库来支持以下标记功能:

  • 项目可以有大量标签
  • 搜索带有给定标签集的所有项目必须快速(这些项目必须具有所有标签,因此它是 AND 搜索,而不是 OR 搜索)
  • 创建/写入项目可能会较慢,以实现快速查找/读取

理想情况下,应使用单个 SQL 语句来查找标记有(至少)一组 n 个给定标签的所有项目。由于要搜索的标签数量以及任何项目上的标签数量未知并且可能很高,因此使用 JOIN 是不切实际的。

有什么想法吗?

<小时/>

感谢迄今为止的所有回答。

但是,如果我没有记错的话,给出的答案显示了如何对标签进行 OR 搜索。 (选择具有 n 个标签中的一个或多个的所有项目)。我正在寻找有效的 AND 搜索。 (选择具有所有 n 个标签的所有项目 - 甚至可能更多。)

最佳答案

这是一篇关于标记数据库架构的好文章:

http://howto.philippkeller.com/2005/04/24/Tags-Database-schemas/

以及性能测试:

http://howto.philippkeller.com/2005/06/19/Tagsystems-performance-tests/

请注意,其中的结论非常针对 MySQL(至少在 2005 年撰写本文时),其全文索引特性非常差。

关于sql - 标签数据库设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48475/

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