mysql 百万级数据的模糊查询 优化 笔记

最近老大给了一个需求,是要写一个姓名的模糊查询。

问题很简单,难度在于这张表有将近500W条数据。

如果要做中文的模糊查询,效率简直惨不忍睹。

网上查了一下资料,发现全文索引挺符合我的需要的。

结果,使用下来。其实并不太符合我的要求。

全文索引的最小单位是词,如果不是在 in boolean mode 下是没办法 查询的

其次,全文索引只支持 半模糊查询,我所谓的半模糊就是  xx like 'xx%'

如果使用全模糊查询,建完索引之后,用 like 或者用 regexp 在常用关键词的时候 确实快很多。

可以控制在0.1左右

不过低频词还是很慢 需要10S

所以,基于这种情况,可能还是做分表比较好

或者修改需求 做半模糊查询。 

下面是参考的资料 

MySQL中的全文检索(1)

MySQL使用全文索引(fulltext index)

 

转载于:https://www.cnblogs.com/zeoblog/p/6929038.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值