mysql搜索字_如何搜索文字? (MySQL的)

论坛 期权论坛 编程之家     
选择匿名的用户   2021-5-28 18:47   41   0

我有这张桌子:

bussId | nameEn | keywords

500 name1 name2 keyword1 keyword2

如果用户搜索(keyword1或keyword2或name2或name1),我想返回bussId 5000.

所以我应该使用这个查询SELECT * FROM business WHERE nameEn LIKE’%searching_word%’.

但是这个查询不使用索引nameEn或关键字,根据Comparison of B-Tree and Hash Indexes“如果LIKE的参数是一个不以通配符开头的常量字符串,索引也可以用于LIKE比较”.

我有这个解决方案,我想创建另一个表并插入所有单个单词:

bussId | word

500 name1

500 name2

500 keyword1

500 keyword2

然后我将使用此查询搜索bussId:

SELECT * WHERE单词LIKE’tracked_word%’.

通过这种方式,我将确保MySQL将使用索引,它会更快,但这个表将包含大约2000万行!

还有其他解决方案吗?

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP