mysql 模糊匹配 拆字_使用MySQL全文索引,我让女同事的代码快了1000倍

本文讲述了如何使用MySQL全文索引优化模糊匹配查询,通过创建全文索引并配合WITH PARSER ngram支持中文,显著提高了查询效率,从几十秒缩短到几十毫秒。
摘要由CSDN通过智能技术生成

普通的工作日,很平常的一天。上午上班,和往常一样写代码,旁边的妹子有点异样,一副一筹莫展的样子,似乎被什么问题困扰了。

本着同事之间应该互相帮助的工作态度,尤其是漂亮女同事,我移动座椅到她旁边,问道:“怎么了,一副烦恼的样子,需要帮助吗?”

“我正想找你呢,你帮我看看这个问题,应该怎么优化?...” 妹子回答道,一副丧气的模样。

原来妹子碰到了这样一个难缠的问题,她负责的一个功能模块有一个关键之搜索功能,根据用户输入的关键字筛选MySQL表中的记录,这是一个模糊匹配的功能,被匹配的字段是text类型,她使用sql中的like功能实现这个需求,类似这样

select * from tb where content like '%关键字%'
d33b5b08b2cf7f1de53164a3ce16a9a6.png

在开发阶段,这么做没什么问题,所以没有人注意。然而随着项目的上线运营,数据量快速增长,这个功能运行变得很缓慢,有时候甚至要几十秒钟才能出结果,用户体验极差。运营同事将这个问题反馈到妹子这里,她不知道如何解决,所以满脸愁容。因为是一个text类型字段且使用like模糊匹配,根本没法利用索引,只能全表扫描,慢是肯定的&#

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值