在使用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查询介绍
基础教程推荐
猜你喜欢
- mysql时间字段默认设置为当前时间实例代码 2022-08-31
- Redis GEORADIUS命令 2024-04-06
- 如何保障mysql和redis之间的数据一致性 2024-04-25
- MySQL索引优化之适合构建索引的几种情况详解 2023-12-29
- 详解Redis连接命令使用方法 2024-03-23
- SQL Server之SELECT INTO 和 INSERT INTO SELECT案例详解 2024-02-13
- Mysql查看死锁与解除死锁的深入讲解 2024-02-14
- mysql服务启动却连接不上的解决方法 2023-12-08
- Redis配置项汇总 2024-04-04
- 浅谈数据库优化方案 2024-02-16
