sql:mysql:分析为什么like模糊查询效率低
相比update和insert,一般查询应该是数据库中操作最频繁的。而在有些应用场景需要用到like模糊查询,那么对于大数据,查询的时候就要注意了。
现在来分析一下为什么like语句查询的效率会很低,测试数据共4000000条,如下图:
第一步:不使用索引
下图可以看出,不使用索引的时候普通查询与like查询的耗时相当,like略长,这也是必然的,因为它要进行额外的算法。
第二步:使用索引
如下图,使用索引后,普通查询的耗时基本算是秒查,非常快;而like查询还是耗时一秒多。
第三步:分析原因
如下图,用explain分析一下,此时我们立刻明白了,普通查询用到了索引,但是like语句没有用到索引。
所以,照成mysql中like查询效率低下的原因是:在有些情况下,like查询使用不到索引,会扫描全表。
最后,补充一下,like语句有时候也是可以用到索引的,如下图,如果我们查询的时候写成“like 'dd_'或者like 'dd%'”,这样是可以用到索引的,此时的查询速度也会相对的快一点。虽然快了一点,但是还是比普通查询耗时要多很多。
因此,当表的数据量比较大的时候,尽量还是不要用like语句了。如果想做模糊搜索,建议用搜索引擎,比如solr,这样会比like强大n倍。
参考:https://www.daixiaorui.com/read/210.html
sql:mysql:分析为什么like模糊查询效率低相关推荐
- mysql越筛越少_面试官:为什么SELECT * 会导致查询效率低?
面试官:"小陈,说一下你常用的SQL优化方式吧." 陈小哈:"那很多啊,比如不要用SELECT *,查询效率低.巴拉巴拉..." 面试官:"为什么不要 ...
- mysql查询所有图书信息_PHP+MySQL使用mysql_num_rows实现模糊查询图书信息功能
本文实例讲述了PHP+MySQL使用mysql_num_rows实现模糊查询图书信息功能.分享给大家供大家参考,具体如下: 一.代码 td{ font-size:9pt; } .style2 {col ...
- 利用php实现图书查询功能,PHP+MySQL使用mysql_num_rows实现模糊查询图书信息功能
本文实例讲述了php+mysql使用mysql_num_rows实现模糊查询图书信息功能.分享给大家供大家参考,具体如下: 一.代码 td{ font-size:9pt; } .style2 {col ...
- mysql 加密脱敏字段模糊查询 笔记
mysql 加密脱敏字段模糊查询 入库的数据是要进行加密脱敏的数据:但是这个字段还要支持界面模糊匹配:这里做个笔记吧 仅供参考 insert into 的sql 大概长这样 insert into t ...
- mysql中有几种模糊查询?
mysql中有几种模糊查询? 聊起mysql中的模糊查询,大家可能马上就能想到like保留字. like加通配符就能完成很多模糊查询的操作. 比如希望查询出所有以词jet开头的产品 select * ...
- mysql数据库的xml模糊查询
mysql数据库的xml模糊查询 mybatis框架的xml中<= , >=解析会出现问题,编译报错,所以需要转译 正常的是使用%xxxx% ,现在需要使用 concat('%',#{xx ...
- mysql多条件匹配模糊查询
mysql中通常的模糊查询使用like语句,但是有时候需要匹配多个条件进行模糊查询,like就无法满足了,比图所示,我们需要查询content字段中包含建设和统计的字段,like语句就无法满足了 所以 ...
- mysql中in查询效率低的替代方法_一波骚操作,我把 SQL 执行效率提高了 10,000,000 倍...
场景 我用的数据库是mysql5.6,下面简单的介绍下场景 课程表: 数据100条 学生表: 数据70000条 学生成绩表SC 数据70w条 查询目的:查找语文考100分的考生 查询语句: selec ...
- 关于解决MYSQL的like模糊查询效率的一种方案
大家都知道like %suibin% 这种查询的效率极低,而MYSQL也建议不要这样模糊查询,常用的是把数据同步到CACHE里: 1.比如同步到ES里用ES模糊查询.或者同步数据到MongoDB实现模 ...
- mysql覆盖索引解决模糊查询失效_关于MySQL的SQL优化之覆盖索引
前些天,有个同事跟我说:"我写了个SQL,SQL很简单,但是查询速度很慢,并且针对查询条件创建了索引,然而索引却不起作用,你帮我看看有没有办法优化?". 我对他提供的case进行了 ...
最新文章
- ArcMap导出属性表为Excel文件
- docker中部署Tomcat
- emlog充值插件_常用十大必备Emlog插件
- java soap envelope_如何在SOAP请求中关闭Envelope和Body
- 电脑选购:看完才明白,一体机和台式机电脑哪个好?
- 数值分析方阵的QR分解
- 分享30个应用HTML5的网站案例
- jsp分页代码mysql_jsp分页(jsp分页完整代码)
- Spring 菜鸟教程 IntrospectorCleanupListener
- 唐宇迪学习笔记9:逻辑回归与梯度下降策略
- 代码 生成迅雷链接启动迅雷下载
- 俄罗斯、乌克兰程序员薪资大曝光!(来长长见识)
- 时空数据库中的轨迹数据压缩
- 81.(cesium之家)cesium修改灰色背景(默认蓝色)
- 万豪国际亚太区第1000家酒店开业!总客房数量超一半在中国 | 美通社头条
- webservice概述及cxf在Java开发中应用(三) cxf客户端开发
- Excel中FgColorsum函数根据字体颜色求和
- 安卓手机怎么下载java游戏
- 论文阅读_对比学习_SimCSE
- 【STM32F4系列】【HAL库】【自制库】WS2812(软件部分)(PWM+DMA)