我做了2张桌子 1)存储的关键字 2)具有文章标题和关键字
在商品表中,我以设置形式(例如(1,2,3,6,7))存储关键字ID
现在我想按用户价值的最大出现率通过关键字和标题进行搜索;
示例 关键字表 笔-1 纸-2 铅笔-3 A4 -4 标记-5
文章表 标题关键字 神奇铅笔纸1,2,4
用户搜索神奇笔
如何有效搜索
答案 0 :(得分:1)
最好的解决方案是使该字段不应包含逗号分隔的所有关键字值,例如1,2,3,4
您应该管理其多对多表
例如:
这样做之后,您的数据库将处于第三范式,并且通过执行
可以轻松执行查询。select a.*
from articles a
join keywords_to_articles ka on ka.article_id = a.id
join keywords k on k.id = ka.keyword_id and k.name = '$keyword'
在这里,我假设您在关键字表中存储了name
字段。
进行上述操作将是一种有效的方法。