暂无图片
MySQL LIKE %% 查询不走索引 有什么好办法?
我来答
分享
热血青年
2022-01-14
MySQL LIKE %% 查询不走索引 有什么好办法?

MySQL LIKE %% 查询不走索引 有什么好办法?

我来答
添加附件
收藏
分享
问题补充
3条回答
默认
最新
Albert

like %%属于全文搜索Full-Text Search,MySQL提供了全文搜索的方案,但仍然不能支持较大的数据量。具体可以参考:https://dev.mysql.com/doc/refman/8.0/en/fulltext-search.html

对于数据量比较大的全文搜索,可以考虑用Elasticsearch。

暂无图片 评论
暂无图片 有用 1
暂无图片
沈克伟

like语句要使索引生效,like后不能以%开始,也就是说 (like %字段名%) 、(like %字段名)这类语句会使索引失效,而(like 字段名)、(like 字段名%)这类语句索引是可以正常使用,也可以换LOCATE的写法、FIND_IN_SET

暂无图片 评论
暂无图片 有用 0
文成

可以使用一个纯数字和索引列拼接成一个函数索引,然后在查询的时候就可以将这个纯数字作为索引前缀,使用上索引了

暂无图片 评论
暂无图片 有用 0
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏