千锋教育-做有情怀、有良心、有品质的职业教育机构

400-811-9990
手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

上海
  • 北京
  • 郑州
  • 武汉
  • 成都
  • 西安
  • 沈阳
  • 广州
  • 南京
  • 深圳
  • 大连
  • 青岛
  • 杭州
  • 重庆
当前位置:西安千锋IT培训  >  技术干货  >  在mysql中, 为什么只有右模糊才走索引?

在mysql中, 为什么只有右模糊才走索引?

来源:千锋教育
发布人:xqq
时间: 2023-10-20 23:26:09

一、在mysql中, 只有右模糊才走索引的原因

在 MySQL 中,索引通常是针对列值的左侧前缀进行排序和存储的。当使用 LIKE 查询语句时,如果使用“%”通配符在列值的左侧进行模糊匹配,那么 MySQL 将无法使用索引优化查询,而需要进行全表扫描。因此,只有在 LIKE 查询语句中,使用“%”通配符在列值的右侧进行模糊匹配时,MySQL 才能够利用索引进行优化查询,提高查询效率。这是因为只有右侧的列值前缀与查询条件相匹配,MySQL 才能够利用索引检索相关的记录,从而避免进行全表扫描。

二、MySQL LIKE 子句

在 MySQL 中,LIKE 关键字主要用于搜索匹配字段中的指定内容。其语法格式如下:

[NOT] LIKE  '字符串'

解释:

NOT :可选参数,字段中的内容与指定的字符串不匹配时满足条件。字符串:指定用来匹配的字符串。“字符串”可以是一个很完整的字符串,也可以包含通配符。右模糊:范围索引左模糊:不走索引,全表查询

LIKE 关键字支持百分号“%”和下划线“_”通配符:

搭配%使用:%代表一个或多个字符的通配符,譬如查询字段name中以大开头的数据:搭配_使用:_代表仅仅一个字符的通配符,把上面那条查询语句中的%改为_,会发现只能查询出一条数据。

三、mysql常用查询语句

1、LIKE的灵活运用

% :匹配一个或多个字符串 _ :匹配单个任意字符串 【】:中括号内的单个字符匹配 【^ 】:非括号内的单个字符匹配

2、分组查询

GROUP BY +HAVING GROUP BY:用于分组,通常会与聚合函数(如max、sum、min、count等)搭配起来使用 HAVING:用于筛选,与where类似,但是一般会与GROUP BY搭配起来使用 

3、子查询

一般用in 、not in、exsit、not exsit将主查询表与子表中的关联字段做连接

4、取两个表结果集中的差集

在oracle里面比较简单,可以用minus 来直接取出两个表的差集。在mysql里面没有此类关键字可以用,相对来说查询效率较高的,要用左连接的方式来查询。

SELECT a.* FROM (SELECT * from malldb.mall_user_express_addr WHERE user_id=’53’ ) a LEFT JOIN (SELECT * FROM malldb.mall_user_express_addr WHERE address LIKE ‘%今天%’ ) b on a.id=b.id where b.id is null

5、分页查询

limit N,M 从N条开始到N+M条被取出 比如要取出第5页的数据,每页显示20条 select * from 表A limit 81,20

延伸阅读1:MySQL

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是较好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。

声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。

猜你喜欢LIKE

在mysql中, 为什么只有右模糊才走索引?

2023-10-20

SQL语言中的ALTER和UPDATE,DROP和DELETE都有什么区别?

2023-10-20

一个大型的SNS网站,是否适合数据库全部用mongodb来做,为什么?

2023-10-20

最新文章NEW

为什么声明性语言往往适合于并行执行,命令代码很难在多个内核和多个机器之间并行化?

2023-10-20

MySQL多表关联查询效率高点还是多次单表查询效率高,为什么?

2023-10-20

jmeter性能测试步骤?

2023-10-20

相关推荐HOT

更多>>

快速通道 更多>>

最新开班信息 更多>>

网友热搜 更多>>