利用好innodb新特性全文索引,优化模糊查询

我们使用mysql进行模糊查询时可能经常会考虑用like和%,但这不能很好的利用到索引,只有当出现“你好%”这种格式的模糊查询时,mysql执行器会帮我们选择走索引,而其他的不符合最左前缀的不走索引而降级到全表查询。

我们在name字段加了全文索引,用于对用户名的模糊搜索,尽量使用到索引

这是使用match(col) against('字符串')的一个模糊查询sql

可以看到explain结果的key字段表明了是使用了全文索引的

具体点说,全文索引的单位是词(具体是使用了倒排索引,即对词做一个文件的归属划分),而LIKE匹配的是字符

但全文索引也有它的弊端,就是搜索结果不是非常准确,但在实际上线项目中效果还是非常不错的,还未发现不准确的结果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值