mysql sql怎么将like 和in结合或者其他方法?

有个商城软件,想要进行搜索框进行商品查询,比如输入蓝月亮洗衣液

select title from goods where title like '%蓝月亮洗衣液%'

出现的结果是没有"蓝月亮洗手液洗衣液"这种结果的,所以要根据需求写

select title from goods where title like '%蓝%' AND title LIKE '%月%' AND title LIKE '%亮%' AND title LIKE '%洗%' AND title LIKE '%衣%' AND title LIKE '%液%'

但是太长了,尤其数据库中有百万条记录,查询效率也低下,怎么优化好一些

select title from goods where title like in ('%蓝%','%月%','%亮%')
mysql
2022-09-16 13:24:05
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
杰森托德
1

你需要的是 全文检索,而不是这样。


如果你的版本过低,无法使用全文检索,还可以选择引入 ES ,或者使用代码生成上面的 like 语句,但是,需要注意,你这样查询的效率很低。

分享
微博
QQ
微信
回复
2022-09-16 15:02:22
相关问题
mysql 如何匹配多个 like 条件?
2314浏览 • 1回复 待解决
sql like查询如何不区分大小写?
1570浏览 • 2回复 待解决
mysql多对多查询sql怎么写?
664浏览 • 1回复 待解决
什么是PolarDB MySQLSQL?
1760浏览 • 1回复 待解决
Mysql如何用sql语句删除这样的内容?
452浏览 • 1回复 待解决
golang 使用go-sql-driver/mysql 查总条数
888浏览 • 1回复 待解决
怎么跳转打开其他app
6555浏览 • 1回复 待解决
LIKE后跟子查询多个值的问题?
1939浏览 • 1回复 待解决
Redismysql数据库是怎么关联的?
835浏览 • 1回复 待解决