mysql 如何进行快速的昵称搜索模糊查询

发布于 2022-09-03 19:02:49 字数 49 浏览 12 评论 0

mysql 进行昵称搜索模糊查询,如果用户多了 like 查询会很慢,请问如何解决?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

赴月观长安 2022-09-10 19:02:49
  1. 在数据库的此表中的昵称这个字段建立索引

    key `nikename`(`nikename`)

  2. 全文索引配合sql语句

    ALTER TABLE `user` ADD FULLTEXT `fidx_user_nikename` (`nickname`)

然后用以下方式查询

SELECT * FROM \`user\` WHERE MATCH (nickname)AGAINST ('xxx')
旧城烟雨 2022-09-10 19:02:49

如果是like %name%,那在我的认知范围内是没辙了,如果前边没有%可以建索引,或者试试LOCATE函数,不过估计没啥效果。

才能让你更想念 2022-09-10 19:02:49

instr呢?

晚雾 2022-09-10 19:02:49

模糊搜索的话,上分词吧。sphinx coreseek 或者xunsearch(迅搜)

呆橘 2022-09-10 19:02:49

如果你的mysql版本大于5.7, 自带ngram全文索引支持中文分词,我在项目中已用,用法网上已经有教程了

伏妖词 2022-09-10 19:02:49

使用搜索引擎,把常用搜索的字段索引起来,然后在结合缓存一起使用

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文