mysql模糊查询like语句效率优化
一、模糊查询like效率
在使用msyql进行模糊查询的时候,很天然的会用到like语句,一般状况下,在数据量小的时候,不容易看出查询的效率,但在数据量达到百万级,千万级的时候,查询的效率就很容易显现出来。这个时候查询的效率就显得很重要。
二、更高效的写法
1.索引
1 | SELECT `column` FROM `table` WHERE `field` like 'keyword%' ; |
没加索引情况下是全表搜索,加了索引情况下速度会大幅度提升,但不适用于全部搜索,只适用于"keywork%"关键字开头
2.LOCATE(‘substr’,str,pos)方法
1 | SELECT `column` FROM `table` WHERE LOCATE( 'keyword' , `field`)>0 |
keyword是要搜索的内容,field为被匹配的字段,查询出全部存在keyword的数据
3.POSITION(‘substr’ IN field)方法
1 | SELECT `column` FROM `table` WHERE POSITION( 'keyword' IN `filed`) |
position能够看作是locate的别名,功能跟locate同样
4.INSTR(str,‘substr’)方法
1 | SELECT `column` FROM `table` WHERE INSTR(`field`, 'keyword' )>0 |
5.FIND_IN_SET(str1,str2)方法
1 | SELECT * FROM `person` WHERE FIND_IN_SET( 'apply' ,`name`); |
原文链接:https://blog.csdn.net/aa2528877987/article/details/121753586
个人博客:http://www.qbeee.cn
分类:
SQL数据库
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
· Manus的开源复刻OpenManus初探