MySQL Explain新用法:

  1. --使用EXPLAIN来查看语句的最终执行计划
  2. 语法:EXPLAIN [EXTENDED] SELECT select_options
  3.  
  4. --在MYSQL .7版本后,可以查看正在执行的语句的执行计划
  5. EXPLAIN FOR CONNECTION connection_id;
  6.  
  7. --在MYSQL .7版本后,可以指定生成执行计划的格式为JSON
  8. EXPLAIN FORMAT=JSON SELECT ...

在EXPLAIN的输出结果中,有一行Type用来表示MYSQL使用哪种访问类型来从MYSQL表中找到需要的行。

  1. type=ALL 表示全表扫描,需要遍历全表的所有行。
  2. 缺少索引或缺少合适的过滤条件,或执行计划有问题
  3.  
  4. type=INDEX: 表示所有扫描,需要遍历索引上所有行。
  5. 查询缺少过滤条件或存在类型转换问题。
  6.  
  7. type=range: 表示范围扫描。
  8.  
  9. type=ref 使用非唯一索引或唯一索引的前缀扫描,返回匹配某个单独值得记录行。
  10.  
  11. type=eq_ref:使用唯一索引来匹配。
  12.  
  13. type=const/system:单表总最多有一个匹配行,查询效率高。
  14.  
  15. type=null,MYSQL不用访问表或索引即可获得结果。

使用EXPLAIN EXTENDED 命令+SHOW WARNINGS命令来看在SQL语句被执行前被执行优化器改写成的新SQL:

  1. EXPLAIN EXTENDED SELECT * FROM TB001 WHERE ID=;
  2. +----+-------------+-------+-------+---------------+---------+---------+-------+------+----------+-------+
  3. | id | select_type | table | type | possible_keys | key | key_len | ref | rows | filtered | Extra |
  4. +----+-------------+-------+-------+---------------+---------+---------+-------+------+----------+-------+
  5. | | SIMPLE | TB001 | const | PRIMARY | PRIMARY | | const | | 100.00 | NULL |
  6. +----+-------------+-------+-------+---------------+---------+---------+-------+------+----------+-------+
  7.  
  8. SHOW WARNINGS \G
  9. *************************** . row ***************************
  10. Level: Note
  11. Code:
  12. Message: /* select#1 */ select '' AS `id`,'INNODB_READ_AHEAD_TH' AS `c1` from `test1`.`tb001` where
  13. row in set (0.00 sec)

MySQL Execution Plan--EXPLAIN用法的更多相关文章

  1. 【转载】 mysql explain用法

    转载链接:  mysql explain用法 官网说明:     http://dev.mysql.com/doc/refman/5.7/en/explain-output.html 参数:  htt ...

  2. Oracle SQL explain/execution Plan

    From http://blog.csdn.net/wujiandao/article/details/6621073 1. Four ways to get execution plan(anyti ...

  3. mysql 性能分析及explain用法

    转载自http://blog.sina.com.cn/s/blog_4586764e0100o9s1.html 使用explain语句去查看分析结果 如   explain select * from ...

  4. mysql的explain用法

    Mysql—explain的参数详解及用法 EXPLAIN 的每个输出行提供一个表的相关信息,并且每个行包括下面的列: 项 说明 id MySQL Query Optimizer 选定的执行计划中查询 ...

  5. MySQL查询优化之explain的深入解析

    在分析查询性能时,考虑EXPLAIN关键字同样很管用.EXPLAIN关键字一般放在SELECT查询语句的前面,用于描述MySQL如何执行查询操作.以及MySQL成功返回结果集需要执行的行数.expla ...

  6. mysql中event的用法详解

    一.基本概念mysql5.1版本开始引进event概念.event既“时间触发器”,与triggers的事件触发不同,event类似与linux crontab计划任务,用于时间触发.通过单独或调用存 ...

  7. Mysql_mysql 性能分析及explain用法

    1 使用explain语句去查看分析结果,如  explain select * from test1 where id=1;会出现:id  selecttype  table  type possi ...

  8. Mysql 分页语句Limit用法

    转载自:http://qimo601.iteye.com/blog/1634748 1.Mysql的limit用法 在我们使用查询语句的时候,经常要返回前几条或者中间某几行数据,这个时候怎么办呢?不用 ...

  9. mysql索引原理及用法

    MySQL索引原理及慢查询优化 Mysql explain用法和性能分析 MySQL 索引优化全攻略 1.索引作用 在索引列上,除了上面提到的有序查找之外,数据库利用各种各样的快速定位技术,能够大大提 ...

  10. MySQL--07 explain用法

    目录 MySQL explain用法 一.explain命令应用 二. Extra(扩展) 三.建立索引的原则(规范) 总结: MySQL explain用法 一.explain命令应用 查询数据的方 ...

随机推荐

  1. 微信小程序之 真机键盘弹窗遮盖input框

    正常效果: 问题效果: 发现这个问题后呢,我先去看了api,api上是这么说的 哦吼~ 然后我也不知道是不是我的打开方式不对还是什么~~ 没有效果~~  那怎么办呢~~  换方法呗~~ 我只好用这个方 ...

  2. _quest_mod

    该功能实现对任务的优化,设定接受任务的条件,比如VIP等级几或者军衔多少持有何种物品才可以接受任务,同时可以配置任务的随机奖励及几率,以上修改都会在任务文本中体现.还支持任务传送功能,接完任务后,可和 ...

  3. php向mariaDB插入数据时乱码问题解决 --- mysqli_set_charset(设置默认字符编码)

    参考文章: https://www.w3schools.com/php/func_mysqli_set_charset.asp http://php.net/manual/zh/mysqli.set- ...

  4. Java内存分配机制

    内存分配,主要指的是在堆上的分配, 一般的,对象的内存分配都是在堆上进行,但现代技术也支持将对象拆成标量类型(标量类型即原子类型,表示单个值,可以是基本类型或String等),然后在栈上分配,在栈上分 ...

  5. 正则化,L1,L2

    机器学习中在为了减小loss时可能会带来模型容量增加,即参数增加的情况,这会导致模型在训练集上表现良好,在测试集上效果不好,也就是出现了过拟合现象.为了减小这种现象带来的影响,采用正则化.正则化,在减 ...

  6. 实现mypwd&mybash&myod&读者写者

    目录: 一.mypwd 二.mybash 三.myod 四.读者.写者 一.实现mypwd 学习pwd命令 研究pwd实现需要的系统调用(man -k; grep),写出伪代码 实现mypwd 测试m ...

  7. 『TensorFlow』流程控制之tf.identity

    一个详细介绍 下面程序要做的是,5次循环,每次循环给x加1,赋值给y,然后打印出来, x = tf.Variable(0.0) #返回一个op,表示给变量x加1的操作 x_plus_1 = tf.as ...

  8. 『PyTorch x TensorFlow』第六弹_从最小二乘法看自动求导

    TensoFlow自动求导机制 『TensorFlow』第二弹_线性拟合&神经网络拟合_恰是故人归 下面做了三个简单尝试, 利用包含gradients.assign等tf函数直接构建图进行自动 ...

  9. js创建对象的三种方法

    1.使用对象初始化器:{} var person = {....} 2 var person=new object() function person(参数) { this.参数=... } var ...

  10. HTML5 FormData方法介绍

    详细见链接 转载说明:转自CSDN上“诗渊”的博客