现在有个需求是 从已有的 5 个标签 aa, bb,cc,dd,ee 去查询相识的标签 比如 aab bba 这样的要匹配出来
1:循环 5 次
for(;;)
select * from tabel where field like '%tag%'
2:like 多次
select * from tabel where field like '%tag1%' or like '%tag2%' ...
3 有没有其他实现?
标签都是中文的
1
msg7086 2017-11-08 15:06:42 +08:00
如果是比较固定的数据和比较固定的标签的话,用 1 就行了。让 MySQL 做查询缓存来提速。
其他实现的话,就是把表结构规范化,提升范式水平。 |
2
kanshan 2017-11-08 17:07:53 +08:00
如果你的 5 个标签存在某个表中的话
```sql SELECT * FROM tabel a INNER JOIN tag b WHERE LOCATE(b.tag,a.field) > 0 ``` |