索引优化8|学习笔记

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群版 2核4GB 100GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用版 2核4GB 50GB
简介: 快速学习索引优化8

开发者学堂课程【MySQL 高级应用 - 索引和锁索引优化8】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/598/detail/8617


索引优化8

目录:

一、字符串不加单引号索引失效

二、少用 or ,用它来连接时会索引失效

三、回复总结

四、题目练习(符合索引)

一、字符串不加单引号索引失效

mysq l> se1ect *  from staffs where name= ' 2000' ;

id  |NANE | age | pos | add_time

3   | 2000 | 23 | dev | 2016-12-09 09:31 :34

1 row in set (0.00 sec)

image.png

mysql> se1ect* from staffs where name=2000 ;

id | NAME | age| pos | add_ .time

3| 2000| 23| devI 2016-12 -09 09:31 :34

51 row in set, 1 warning (0.00 sec)

image.png

Mysql可以查询出来,但是输入2000时, mysql 会在底层隐形的做一次转换,实现了数字 到 string 的类型转换,此时得出结论:不在索引列上做任何操作(计算、函数、(自动 or 手动)类型转换),会导致索引失效而全表扫描。

所以在 sql 书写当中 varchar 类型的东西决定不可以忘记单引号,不可以让隐含的类型转换发生。

 

二、少用 or ,用它来连接时会索引失效

Mysql>explain select * from staffs where name = ‘July or name = z3;

1 row in set (0.00 sec

Mysql>select * from staffs where name = July or name = z3;

2 rows in set 0.00 sec

image.png

此时执行发现,内容可执行,但过程略复杂

 

三、回复总结

1.全值匹配我最爱图

2.最佳左前缀法则

3.不在索引列上做任何操作(计算、函数、(自动ar手动)类型转换),会导致索引失效而转向全表扫描

4.存储引擎不能使用索引中范围条件右边的列

5.尽量使用覆盖索引(只访问索引的查询(索引列和查询列--)),减少 select*

6. mysql 在使用不等于(!=或者<>)的时候无法使用索引会导致全表扫描

7. is nullis not null 也无法使用索引

8. like 以通配符开头 ('%abc... )mysq| 索引失效会变成全表扫描的操作

9.字符串不加单引号索引失败

10.少用 or,用它来链接时会索引失效

 

四、题目练习(符合索引)

Where语句

索引是否被使用

Where a = 3

Y,使用到a

Where a = 3 and b = 5

Y,使用到ab

Where a = 4 and b = 5 and c = 4

Y,使用到abc

Where b = 3 或者 Where b = 3 and

Where c = 4 或者 where c = 4

N

Where a = 3 and c = 5

使用到ac不可以

b中间断了

Where a = 3 and b > 4 and c = 5

使用到ab

C不能用在范围之后

B断了

Where a = 3 and b like ‘kk%’ and c = 4

a、b能用

C不能用


相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
10月前
|
索引
索引优化
索引优化
348 0
|
2月前
|
SQL 存储 关系型数据库
MySQL索引(二)索引优化方案有哪些
MySQL索引(二)索引优化方案有哪些
74 0
|
22天前
|
缓存 监控 关系型数据库
mysql优化
【6月更文挑战第12天】mysql优化
28 3
|
SQL 存储 缓存
MySQL优化
在我们的实际场景中经常会遇到sql查询较慢的问题,今天特地写一篇文章来聊聊我对于MySQL调优相关内容的知识,以及从哪些点去进行优化.
108 0
 MySQL优化
|
SQL 存储 关系型数据库
|
SQL 前端开发 关系型数据库
索引优化|学习笔记
快速学习索引优化
93 0
索引优化|学习笔记
|
关系型数据库 MySQL 开发者
索引优化9|学习笔记
快速学习索引优化9
58 0
索引优化9|学习笔记
|
关系型数据库 MySQL 开发者
索引优化2|学习笔记
快速学习索引优化2
55 0
索引优化2|学习笔记
|
存储 关系型数据库 MySQL
索引优化1|学习笔记
快速学习索引优化1
117 0
索引优化1|学习笔记
|
关系型数据库 MySQL 开发者
索引优化6|学习笔记
快速学习索引优化6
52 0
索引优化6|学习笔记