【发布时间】:2018-03-17 20:09:47
【问题描述】:
你好。
所以我正在做文章提交atm,我需要文章有多个类别...文章类别将存储在categories 字段下的articles 表中,例如{"cat1","cat2","cat3"}。但是一个想法突然出现在我的脑海中......“如果我想按类别查找文章怎么办?”。如果我会做类似SELECT * FROM articles WHERE categories = ? 的事情,那么我就无法定义哪个帖子有哪些类别......所以我不能以这种方式按类别查找。有什么建议,解决方案吗?非常感谢!
编辑:如果我要从数据库中检索所有帖子并为每个解决方案执行一些操作,则会导致服务器负载甚至崩溃几分钟。现在我有 7,307 篇文章。
【问题讨论】:
-
我假设你有一个表格“文章”和一个表格“类别” - 那么解决方案就是所谓的 n-m-relation。含义:一个有两列的表:一个引用文章,另一个引用类别。然后您可以通过简单的连接来选择您想要的任何内容。
-
查看基本数据库设计书籍或教程。这基本上是第 2 章,所以不是火箭科学
-
您应该查看Database Normalization。 (这是其他 cmets 的建议。)
-
其实这不是一个坏主意。我已经有一个表“类别”,其中定义了每个类别。所以我会做类似的事情:“article_categories”。所以这需要 3 个字段:id、article_id、categorie。
-
^ 是的,这就是要走的路……(假设您的意思是
category_id作为最后一个字段)。