在使用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 Server游标的使用/关闭/释放/优化小结 2024-01-01
- Python中np.percentile和df.quantile分位数详解 2023-07-28
- Oracle动态视图v$active_session_history实战示例 2023-07-24
- 关于postgresql timestamp时间戳问题 2023-07-21
- 揭秘SQL优化技巧 改善数据库性能 2024-01-02
- 一文详解python如何将编写的模块打包上传至pypi 2023-07-27
- Linux Redis的性能展示 2024-04-18
- Mysql的timestamp时间戳详解及2038问题 2023-07-26
- PostgreSQL 查看数据库,索引,表,表空间大小的示例代码 2023-12-31
- Oracle undo_management参数不一致错误 2023-12-08