我的编程空间,编程开发者的网络收藏夹
学习永远不晚

mysql学习笔记之explain分析

短信预约 信息系统项目管理师 报名、考试、查分时间动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

mysql学习笔记之explain分析

mysql学习笔记之explain分析

mysql explain功能中展示各种信息的解释:

id:优化器选定的执行计划中查询的序列号。
select_type:所用的查询类型,主要由以下这集中查询类型。
  . DEPENDENT UNION:子查询中的UNION,且为UNION中从第二个SELECT开始的后面所有SELECT,同样依赖于外部查询的结果集。

  . SIMPLE:厨子查询或UNION之外的其他查询。
    》explain select * from admin_user where user_id = 1 G;

  . PRIMARY:子查询中最外层查询,注意并不是主键查询。
  . SUBQUERY: 子查询内层查询的第一个SELECT,结果不依赖与外部查询结果集。
    》explain select * from role where id = (select role_id from admin_user where user_id = 1) G;

  . UNCACHEABLE SUBQUERY:结果集无法缓存的子查询

  . UNION:UNION 语句中第二个SELECT开始后面的所有SELECT,第一个SELECT为PRIMARY。

  . UNION RESULT:UNION 中的合并结果。

table:显示这一步所访问的数据库中的表的名称。
type:告诉我们对标使用的访问方式,主要包含如下几种类型。
  . all: 全表扫描。
  . const: 读常量,最多只会有一条记录匹配,由于是常量,实际上只需要读一次。
  . eq_ref:最多只会有一条匹配结果,一般是通过主键或唯一键索引来访问
  . fulltext:进行全文索引检索
  . index:全索引扫描
  . index_merge:查询中同时使用两个(或更多)索引,然后对索引结果进行和并,在读取表数据。
  . index_subquery:子查询中的返回结果字段组合是一个索引(或索引组合),但不是一个主键或唯一索引。
  . rang:索引范围扫描。
  . ref:join语句中被驱动表索引引用的查询。
  . ref_or_null:与ref的唯一区别就是使用索引引用的查询之外再增加一个空值的查询。
  . system:系统表,表中只有一行数据:
  . unique_subqery:子查询中的返回结果字段组合式主键或唯一约束。
Possible_keys:该查询可以利用的索引。如果没有任何索引可以使用,就会显示为null,这项内容对优化索引时的调整非常重要。
key:优化器从possible_keys中选择使用的索引。
key_len:被选中使用索引的索引建长度。
ref:列出是通过常量,还是某个字段的某个字段来过滤的
rows:优化其通过系统手机的统计信息估算出来的结果集记录条数
extra:查询中每一步实现的额外细节信息。
  . using index : 出现这个说明mysql使用了覆盖索引,避免访问了表的数据行,效率不错。
  . using where :这说明服务器在存储引擎收到行后讲进行过滤。
  . using temporary :这意味着mysql对查询结果进行排序的时候使用了一张临时表
  . using filesort :这个说明mysql会对数据使用一个外部的索引排序

注意当出现using temporary 和 using filesort时候说明需要优化操作

来自六星教育学习笔记整合

附上一个之前的问题  https://bbs.csdn.net/topics/394590177

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

mysql学习笔记之explain分析

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

mysql学习笔记之explain分析

mysql explain功能中展示各种信息的解释: id:优化器选定的执行计划中查询的序列号。 select_type:所用的查询类型,主要由以下这集中查询类型。   . DEPENDENT UNION:子查询中的UNION,且为UNION中从第二个SELE
mysql学习笔记之explain分析
2017-08-03

mysql学习笔记之profiling分析

要想有画一条query,就需要清楚这条query的性能瓶颈到底在哪里,mysql的profiler是一个使用非常方便的查询诊断分析工具,通过该工具可以获取一条查询在整个执行过程中多种资源的消耗情况,例如内存消耗、I/O消耗和CPU消耗等。 profile的语法
mysql学习笔记之profiling分析
2017-03-12

AngularJS学习笔记之TodoMVC的分析

TodoMVC是一个开源项目,旨在提供使用不同JavaScript框架实现相同任务(即创建、编辑、删除待办事项)的示例代码。在AngularJS学习过程中,通过分析TodoMVC的实现,可以帮助我们更好地理解和掌握AngularJS的核心概
2023-08-17

Python学习笔记之解析json的方法分析

本文实例讲述了Python解析json的方法。分享给大家供大家参考,具体如下: 刚学习到Python中解析json的方法,觉得有必要在这里坐下笔记。 我是在python的内部环境中看的 Encoding basic Python objec
2022-06-04

MySQL学习笔记(14):分区

本文更新于2019-06-30,使用MySQL 5.7,操作系统为Deepin 15.4。目录分区类型Range分区List分区Columns分区Hash分区Key分区子分区分区管理Range分区和List分区的分区管理Hash分区和Key分区的分区管理分区类
MySQL学习笔记(14):分区
2015-11-15

Android学习之AppWidget笔记分享

什么是AppWidget?AppWidget就是我们平常在桌面上见到的那种一个个的小窗口,利用这个小窗口可以给用户提供一些方便快捷的操作。 今天的目标就是怎么创建一个简单的AppWidget。 首先我先把目录结构展示一下,方便大家理解。第
2022-06-06

MySQL学习笔记

作者: Grey原文地址:MySQL学习笔记说明注:本文中的SQL语句如果用到了特定方言,都是基于MySQL数据库。关于DDLDDL 的英文全称是 Data Definition Language,中文是数据定义语言。它定义了数据库的结构和数据表的结构。在 D
MySQL学习笔记
2015-01-17

MySQL 学习笔记 (一)

1.InnoDB and Online DDLALTER TABLE tbl_name ADD PRIMARY KEY (column), ALGORITHM=INPLACE, LOCK=NONE;https://dev.mysql.com/doc/refma
2016-12-04

MySQL 学习笔记(五)

mysqldump 与 --set-gtid-purged 设置(1)  mysqldumpThe mysqldump client utility performs logical backups, producing a set of SQL statem
MySQL 学习笔记(五)
2022-01-27

MySQL学习笔记-day01

1、数据库概述及数据准备1.1、SQL概述SQL,全称Structured Query Language,SQL用来和数据库打交道,完成和数据库的通信,SQL是一套标准。(90%以上的SQL都是通用的)。SQL:结构化语言,是一门标准通用的语言。SQL属于高级
MySQL学习笔记-day01
2017-10-15

MySQL学习笔记-day03

1、约束1.1、唯一性约束(unique)唯一性约束修饰的字段具有唯一性,不能重复。但可以为NULL。案例:给某一列添加uniquedrop table if exists t_user;create table t_user( id int, u
MySQL学习笔记-day03
2020-11-18

Android学习笔记45之gson解析json

JSON即JavaScript Object Natation, 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,为Web应用开发提供了一种理想的数据交换格式。 JSON对象: JSON中对象(Object)以"{"开始, 以"
2022-06-06

Android学习笔记之Toast

使用统一标准化的Toast Toast.makeText(Context context, CharSequence text, int duration).show(); /* android.widget.Toast context:
2022-06-06

Android学习笔记之Service

一个Service是App的一个组件,没有任何的UI,可以长时间的在后台无限期运行。可以在主线程之外的单独的线程中执行,也可以在应用程序组件(如活动)中进行管理。例如音乐播放器,可以让音乐在后台进行播放。 Service的两种形式 Star
2022-06-06

编程热搜

目录