sql:mysql:分析为什么like模糊查询效率低

78 篇文章 10 订阅
订阅专栏

相比update和insert,一般查询应该是数据库中操作最频繁的。而在有些应用场景需要用到like模糊查询,那么对于大数据,查询的时候就要注意了。

 

现在来分析一下为什么like语句查询的效率会很低,测试数据共4000000条,如下图:

 

总共的条数

 

第一步:不使用索引

 

下图可以看出,不使用索引的时候普通查询与like查询的耗时相当,like略长,这也是必然的,因为它要进行额外的算法。

 

like不使用索引

 

第二步:使用索引

 

如下图,使用索引后,普通查询的耗时基本算是秒查,非常快;而like查询还是耗时一秒多。

 

like使用索引的效果

 

第三步:分析原因

 

如下图,用explain分析一下,此时我们立刻明白了,普通查询用到了索引,但是like语句没有用到索引。

 

like用不到索引

 

所以,照成mysql中like查询效率低下的原因是:在有些情况下,like查询使用不到索引,会扫描全表。

 

最后,补充一下,like语句有时候也是可以用到索引的,如下图,如果我们查询的时候写成“like 'dd_'或者like 'dd%'”,这样是可以用到索引的,此时的查询速度也会相对的快一点。虽然快了一点,但是还是比普通查询耗时要多很多。

 

like可以使用到索引

 

因此,当表的数据量比较大的时候,尽量还是不要用like语句了。如果想做模糊搜索,建议用搜索引擎,比如solr,这样会比like强大n倍。

参考: https://www.daixiaorui.com/read/210.html

like模糊匹配查询慢解决之道——MySQL全文索引
m0_73311735的博客
10-25 1556
旧版的MySQL的全文索引只能用在MyISAM存储引擎的char、varchar和text的字段上。MySQL5.6.24上InnoDB引擎也加入了全文索引。在全文索引中,n-gram就是一段文字里面连续的n个字的序列。N=1 : '齿', '轮', '传', '动';N=2 : '齿轮', '轮传', '传动';N=3 : '齿轮传', '轮传动';N=4 : '齿轮传动';复制代码。
mysql like 查询效率
此处无人的blog
10-11 840
MYSQL Like 查询效率 MYSQL Like 查询效率 在使用 msyql 进行模糊查询的时候,很自然的会用到 like 语句,通常情况下,在数据量小的时候,不容易看出查询效率,但在数据量达到百万级,千万级的时候,查询效率就很容易显现出来。这个时候查询效率就显得很重要! 一般情况下 like 模糊查询的写法为(field 已建立索引): SELECT `column` FROM `t...
sql语句中条件查询like的效率,及使用规范.
热门推荐
z69183787的专栏
08-29 1万+
引用“ 我在做数据库查询的时候,发现了一个奇怪的问题,在使用like关键字的时候,速度其慢,效率。不明白是什么原因,请大家讲解一下,为什么like慢,而其他的两个快。3个查询不同的地方用红色做了标识。 我数据表中的数据量如下FDAEnterprise 数据513条,TYHJL里面的数据为22516条。 我有如下一个查询语句:查询所花费的时间是13秒。   select top 15
mysql 小数据量表 like模糊查询sql排查
最新发布
qq_59937496的博客
07-22 361
重新复盘这个问题,一开始我们方向着重于mysql自身的问题,比较升级前和升级后mysql的差异,定位到innodb_buffer_pool_size这个mysql的参数配置,认为是这个参数的差异,导致mysql内存不足以支撑查询锁需要的缓存。对data的这个超大字段表示了怀疑,我在本地分别建了一张不含data的表和含data的表,写入相同的数据量,果然相同的sql展现了300倍左右的查询速度差异(10ms 对比 3~4s)。3.但是在改造成子查询时,却出现了跟之前慢sql一样的性能问题。
解决MySql大数据Like查询慢的问题
12-27
MySql查询数据慢可以用用这个工具,瞬间提升Like查询效率
LIKE 多字段匹配 效率
snowysoft的专栏
04-18 1661
我们在较大数据库下,查询多条 模糊关键字的时候,like ‘condition1%’ or like ‘condition2%’ 效率。         此时可以用 SELECT * FROM USERTEST WHERE PATINDEX('JAVA%',UNAME)+PATINDEX('C+%',UNAME)>0 此时,就会把uname是java开头的和是c+开头的都查出
关于解决MYSQL的like模糊查询效率的一种方案
qq_25037905的博客
04-24 1036
大家都知道like %suibin% 这种查询效率,而MYSQL也建议不要这样模糊查询,常用的是把数据同步到CACHE里: 1、比如同步到ES里用ES模糊查询。或者同步数据到MongoDB实现模糊查询。这样需要写SQL还需要再写一套语法通过判断切换,还要写一个数据库同步表数据的逻辑。 2、其实我们可以把以上的架构设计进行改进,我就做一个mybatis插件实现,那么在组件内部实现了同步数据和查询切换。这样开发人员不需要去关心实现上述代码。下面一个方案,当然该方案里spring-jdbc,spring
MySQL中使用Like模糊查询太慢
weixin_33976072的博客
04-26 3047
  问题:明明建立了索引,为何Like模糊查询速度还是特别慢?   Like是否使用索引?   1、like %keyword    索引失效,使用全表扫描。但可以通过翻转函数+like前模糊查询+建立翻转函数索引=走翻转函数索引,不走全表扫描。  2、like keyword%    索引有效。  3、like %keyword% 索引失效,也无法使用反向索引。   使用mysql的e...
MySQL Like模糊查询速度太慢如何解决
12-14
以下是一些关于如何优化MySQL LIKE模糊查询的策略: 1. **索引失效**: - 当使用`LIKE %keyword%`时,即查询模式中前后都有通配符,MySQL无法使用索引,因为这种模式需要全表扫描。即使表中有针对该字段的索引,也...
MySql like模糊查询通配符使用详细介绍
09-10
MySQL中的`LIKE`模糊查询SQL查询中一种强大的匹配方式,它允许用户使用通配符来查找不完全符合精确匹配的记录。本文将详细介绍`LIKE`模糊查询中的两种主要通配符:`%`和`_`,以及MySQL提供的扩展正则表达式模式...
mysql模糊查询like和regexp小结
09-10
`LIKE` 操作简单易用,但它的缺点是效率,因为对于大型数据集,MySQL 需要扫描整个表来找到匹配项。 ### REGEXP 正则表达式匹配 `REGEXP` 是 MySQL 提供的另一种模糊查询方式,它支持更复杂的模式匹配,包括...
Python使用sql语句对mysql数据库多条件模糊查询.pdf
11-27
为什么需要多条件模糊查询 在实际应用中,我们经常需要根据多个条件进行查询。例如,在一个国家信息查询系统中,我们需要根据国家名称和大洲查询国家信息。在这种情况下,我们需要使用多条件模糊查询来实现查询。 ...
一天学会MySQL数据库(7):分组条件 having 和模糊查询 Like
weixin_43742894的博客
03-27 1036
最近在学习数据库,寻找教程中,苦于视频长度几十个小时,没有沉下心去看,发现一个六小时长度的mysql教程,发现还不错,学习并记录学习笔记。 资源地址在最下方。 本篇文章,作为学习笔记可配套学习! 这里写目录标题条件查询模糊查询练习视频资源: 条件查询 在group by分组之后,还可以使用having进行条件过滤! 模糊查询 使用SQL 通配符可以替代一个或多个字符,即模糊查询SQL 通配符必须与 LIKE 运算符一起使用。在 SQL 中,可使用以下通配符如下: 1、% 替代一个或多个字符 2、
MySQL中Like模糊查询速度太慢该如何进行优化
q1353122328的博客
02-17 789
MySQL中Like模糊查询速度太慢该如何进行优化
MySQL Like模糊查询速度太慢如何进行优化
程序员小王的博客
12-13 1万+
MySQL Like模糊查询速度太慢如何解决
【备忘】like查询慢的问题解决思路(索引+显式指定查询字段)
qq_15941409的博客
02-09 1198
like查询慢的问题解决思路(索引+显式指定查询字段)
mysql like慢_MySQL Like模糊查询速度太慢如何解决
weixin_42298778的博客
01-27 1469
问题:明明建立了索引,为何Like模糊查询速度还是特别慢?Like是否使用索引?1、like %keyword 索引失效,使用全表扫描。但可以通过翻转函数+like前模糊查询+建立翻转函数索引=走翻转函数索引,不走全表扫描。2、like keyword% 索引有效。3、like %keyword% 索引失效,也无法使用反向索引。使用mysql的explain简单测试如下:explain selec...
mysqlMysql模糊查询like效率,以及更高效的写法和sql优化方法
IT技术宅-北方的刀郎
07-29 4706
in_array的效率 in_array函数是个糟糕的选择。应该尽量用isset函数或array_key_exists函数来替代 。in_array函数的复杂度是O(n),而isset函数的复杂度是O(1) isset函数是检测变量是否设置。 返回值: 若变量不存在则返回FALSE 若变量存在且其值为NULL,也返回FALSE 若变量存在且值不为NULL,则返回TURE 同时检查多个变量时,每个单项都符号上一条要求时才返回TRUE,否则结果为FALSE PHP的empty()函数 格式:.
写文章

热门文章

  • sql:函数:COALESCE() 241151
  • sql:常用:group by 多个字段 123301
  • linux:centos7开启80端口,开放外网访问 80412
  • hive: 空值、NULL判断、空值的处理 79342
  • hadoop: hdfs:删除文件、文件夹等常用命令 54255

分类专栏

  • 图数据库 3篇
  • sparkStreaming 6篇
  • sparkSQL 19篇
  • hadoop 33篇
  • kafka 30篇
  • zooKeeper 7篇
  • oracle 1篇
  • spark 67篇
  • linux 25篇
  • mapReduce 12篇
  • hive 114篇
  • java 96篇
  • other 2篇
  • bI 2篇
  • flume 7篇
  • 离线分析系统 5篇
  • CentOS 4篇
  • 实时分析系统 3篇
  • 技术方案解决 3篇
  • sql 78篇
  • spring 13篇
  • jvm 26篇
  • etl 3篇
  • python 22篇
  • elasticsearch 8篇
  • springBoot 32篇
  • tool 1篇
  • nginx 4篇
  • windows 2篇
  • redis 5篇
  • rdd 8篇
  • Spark调优 7篇
  • rpc 7篇
  • mybatis 5篇
  • hbase 5篇
  • jvisualvm 1篇
  • maven 9篇
  • 开发工具 14篇
  • git 9篇
  • sqoop 7篇
  • 前端 2篇
  • vue 2篇
  • superset 9篇
  • Azkaban 3篇
  • docker 10篇
  • scala 10篇

最新评论

  • sql:主键(primary key)和唯一索引(unique index)区别

    一切随缘~~~: 是的,叫法不同

  • sql:函数:COALESCE()

    菜菜的大数据开发之路: 哇塞,学习到了!在CSDN居然能看到这么好的文章,博主的水平让我感觉遇到了知己!b( ̄▽ ̄)d

  • virtualbox:扩容的两种方法

                    : 参考这篇文章就可以了,https://blog.csdn.net/m0_65274357/article/details/131965463

  • sql:通配符: %、_、[charlist]、[!charlist]

    桂花树开,空气也变得香甜: 为什么你这查得出结果集?like不是正则表达式,这里应该用rlike吧?

  • sql:mysql:分析为什么like模糊查询效率低

    @补丁@: 图没了

最新文章

  • 如何保证接口的幂等性?常见的实现方案有哪些?
  • sql:mysql:MySql 不存在则插入,存在则更新或忽略
  • hdfs:不小心删除了NameNode,如何恢复?
2022年1篇
2020年125篇
2019年250篇
2018年318篇
2017年1篇

目录

目录

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

玻璃钢生产厂家玻璃钢雕塑 景观厂家福建玻璃钢人物雕塑洛阳校园玻璃钢雕塑定制厂家商洛玻璃钢马雕塑景区商场美陈宣城卡通玻璃钢雕塑多重优惠天津多彩玻璃钢雕塑多少钱黑龙江玻璃钢雕塑企业江西省玻璃钢雕塑报价义乌抽象玻璃钢雕塑中山玻璃钢战马雕塑尉氏玻璃钢雕塑费用气球商场美陈哪家专业文昌玻璃钢圆门头雕塑生产玻璃钢蔬菜雕塑定制芙蓉玻璃钢花盆花器红色玻璃钢花盆怎么把泡沫雕塑变成玻璃钢模具玻璃钢雕塑电镀加工厂重庆玻璃钢雕塑厂商玻璃钢书本雕塑珠海玻璃钢地貌图雕塑广东室外玻璃钢雕塑商场创意新年灯笼美陈2017商场春季美陈浙江通道商场美陈销售公司衢州玻璃钢海豚雕塑荆门玻璃钢造型雕塑江宁十一商场美陈南通玻璃钢彩绘雕塑香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化