mysql like 和 instr函数(转)
原文:https://blog.csdn.net/weixin_43606226/article/details/105364506
instr函数介绍
instr(表字段,字符串),这个函数返回字符串在表字段中的位置,若是找不到则返回0,找到则返回字符串所在位置。(返回位置从1开始)
从user表中查询username字段中包含’2’字符串的数据
instr函数使用
copySELECT * FROM user WHERE INSTR(username,'2')>0;
上述语句相当于使用like
copySELECT * FROM user WHERE username like '%2%'
这两句sql语句查询到的结果是一样的。
为什么使用instr函数
由上可知,like完全能实现instr函数的功能,但是为什么要使用instr函数。
因为instr查询速度比like的查询速度快。
like以’%'开头查询时,表中的列所加的索引不生效。
instr是一个函数,可以建立函数索引,如果过滤的条件有索引,那么instr就可以提高性能。
在没有索引的前提下,当数据量比较大时,instr要比like效率高。
简单来说,like以’%'为开头查询不走索引,instr函数查询走索引,所以instr性能比like要好。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
2019-07-24 jq时间控件2