在使用msyql进行模糊查询的时候,很自然的会用到like语句,通常情况下,在数据量小的时候,不容易看出查询的效率,但在数据量达到百万级,千万级的时候,查询的效率就很容易显现出来。这个时候查询的效率就显得很重要!
结论:后置百分号可以用到索引,前置百分号和两侧百分号用不了索引。
like 匹配/模糊匹配,会与 % 和 _ 结合使用。
'%a' //以a结尾的数据
'a%' //以a开头的数据
'%a%' //含有a的数据
'_a_' //三位且中间字母是a的
'_a' //两位且结尾字母是a的
'a_' //两位且开头字母是a的
一般情况下like模糊查询的写法为(field已建立索引):
SELECT column FROM table WHERE field like '%keyword%';
上面的语句用explain解释来看,SQL语句并未用到索引,而且是全表搜索,如果在数据量超大的时候,可想而知最后的效率会是这样
对比下面的写法:
SELECT column FROM table WHERE field like 'keyword%';
这样的写法用explain解释看到,SQL语句使用了索引,搜索的效率大大的提高了!
本文标题为:mysql基本语法之like查询介绍
基础教程推荐
- SQL查询至少连续七天下单的用户 2023-08-09
- caffeine_redis自定义二级缓存 2023-07-13
- Redis、Memcache和MongoDB的区别 2024-02-11
- Redis PING命令 2024-02-07
- mysql创建存储过程及函数详解 2023-08-13
- Cenots7 离线安装部署PostgreSQL 的详细过程 2023-07-21
- 如何保障mysql和redis之间的数据一致性 2024-03-09
- 在postgresql中通过命令行执行sql文件 2023-12-03
- Redis(五):Redis的持久化 2023-09-12
- redis(13)持久化操作-AOF 2024-02-11
