栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

【mysql】mysql 模糊查询 like 语句

【mysql】mysql 模糊查询 like 语句

mysql 模糊查询 like 语句

一 like 语句 %xxx%:查询 username 字段中包含 xxx 的记录。

select * from user where username like ‘%xxx%’;

%xxx:查询 username 字段中以 xxx 结尾的记录。

select * from user where username like ‘%xxx’;

xxx%:查询 username 字段中以 xxx 开头的记录。

select * from user where username like ‘xxx%’;

二 like 语句是否使用索引?

使用 explain 关键字分析上述 like 查询,发现有些情况使用索引,有些情况下全表查询。

like %xxx%:全表扫描,未使用索引,效率低。

like %xxx:全表扫描,未使用索引,效率低。

like xxx%:使用了 username 字段的索引。

三 优化 like?

网上有一些关于 like %xxx% 的优化建议,比如 locate, instr, position 的方式,但是亲测之后发现这几个方式也是全表扫描。如果数据量庞大的话,还是建议直接使用搜索引擎 elasticsearch。

四 like ‘%, xxx’ 与 like ‘%xxx’

比如:like ‘%, male’ 则只匹配字符串中以 male 结尾的,不包含以 female 结尾的。like '%male’则也能匹配到字符串中以 female 结尾的情况。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/784322.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号