IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> MYSQL执行计划的一些总结 -> 正文阅读

[大数据]MYSQL执行计划的一些总结

  • 背景

????????在开发过程中,我们往往没有好好利用到索引,导致系统性能下降;在一些高并发场景的业务开发中,往往导致服务崩掉的,绝大部分是因为数据库的慢查询;我们在开发过程中,需要好好利用Mysql的执行计划,在系统发布前,做好SQL的优化;

  • 执行计划

????????要利用执行计划对SQL进行优化,首先必须能看得懂执行计划;下面重点介绍执行计划中的几个重要的字段;

编号字段描述
1id

SQL的执行顺序,执行顺序如下:

  1. id越大,越先执行;
  2. id相同,从上到下执行;
2select_type
编号类型描述
1simple简单查询,不包含子查询和union查询,可以包括join查询;
2primary包含子查询,外查询标记为此类型;
3subquery在select或者where后面包括子查询;
4derived在from后包括子查询;
5union在union后的查询被标记为此类型;
6union result从union结果中,select出来结果的查询;
3type
编号类型描述
1system系统表,表中包含一行记录;
2const通过索引命中单行记录;
3eq_ref扫描主键或者唯一索引,命中单行或者多行返回;
4ref扫描非主键和非唯一索引,命中单行或者多行返回;
5range扫描索引,选择一个范围的值;between,> or < etc.
6index遍历索引树,返回所有行;
7all全表扫描;

【注】我们一般优化SQL至少会到range级别,从上到下性能减弱;

4possible_keys可能使用到的索引;
5key实际使用到的索引;
6key_len索引长度,单位字节key的长度建议不要太长,太长的话,需要考虑用前缀索引优化,对于主键一定要求使用bigint,防止在插入新行的时候产生页分裂带来的性能问题;
7ref显示该表的索引字段关联了哪张表的哪个字段;
8rowsSQL执行所涉及到的行数;
9filtered返回结果的行数占读取行数的百分比,值越大越好;
10extra
编号字段描述
1using filesort使用了索引外排序,性能非常差,造成额外的I/O;
2using temporary使用了临时表,性能也是比较差的,常见在order by和group by的语句中;
3using index走覆盖索引,性能不错,避免回表;
4using where用了where子句;
5using join buffer使用了连接查询,并且使用了缓存;建议在join的字段上加上索引;
6distinct行去重;
  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-04-01 00:08:39  更:2022-04-01 00:11:21 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 4:31:08-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码