MySQL Execution Plan--EXPLAIN用法
MySQL Explain新用法:
--使用EXPLAIN来查看语句的最终执行计划
语法:EXPLAIN [EXTENDED] SELECT select_options --在MYSQL .7版本后,可以查看正在执行的语句的执行计划
EXPLAIN FOR CONNECTION connection_id; --在MYSQL .7版本后,可以指定生成执行计划的格式为JSON
EXPLAIN FORMAT=JSON SELECT ...
在EXPLAIN的输出结果中,有一行Type用来表示MYSQL使用哪种访问类型来从MYSQL表中找到需要的行。
type=ALL: 表示全表扫描,需要遍历全表的所有行。
缺少索引或缺少合适的过滤条件,或执行计划有问题 type=INDEX: 表示所有扫描,需要遍历索引上所有行。
查询缺少过滤条件或存在类型转换问题。 type=range: 表示范围扫描。 type=ref: 使用非唯一索引或唯一索引的前缀扫描,返回匹配某个单独值得记录行。 type=eq_ref:使用唯一索引来匹配。 type=const/system:单表总最多有一个匹配行,查询效率高。 type=null,MYSQL不用访问表或索引即可获得结果。
使用EXPLAIN EXTENDED 命令+SHOW WARNINGS命令来看在SQL语句被执行前被执行优化器改写成的新SQL:
EXPLAIN EXTENDED SELECT * FROM TB001 WHERE ID=;
+----+-------------+-------+-------+---------------+---------+---------+-------+------+----------+-------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | filtered | Extra |
+----+-------------+-------+-------+---------------+---------+---------+-------+------+----------+-------+
| | SIMPLE | TB001 | const | PRIMARY | PRIMARY | | const | | 100.00 | NULL |
+----+-------------+-------+-------+---------------+---------+---------+-------+------+----------+-------+ SHOW WARNINGS \G
*************************** . row ***************************
Level: Note
Code:
Message: /* select#1 */ select '' AS `id`,'INNODB_READ_AHEAD_TH' AS `c1` from `test1`.`tb001` where
row in set (0.00 sec)
MySQL Execution Plan--EXPLAIN用法的更多相关文章
- 【转载】 mysql explain用法
转载链接: mysql explain用法 官网说明: http://dev.mysql.com/doc/refman/5.7/en/explain-output.html 参数: htt ...
- Oracle SQL explain/execution Plan
From http://blog.csdn.net/wujiandao/article/details/6621073 1. Four ways to get execution plan(anyti ...
- mysql 性能分析及explain用法
转载自http://blog.sina.com.cn/s/blog_4586764e0100o9s1.html 使用explain语句去查看分析结果 如 explain select * from ...
- mysql的explain用法
Mysql—explain的参数详解及用法 EXPLAIN 的每个输出行提供一个表的相关信息,并且每个行包括下面的列: 项 说明 id MySQL Query Optimizer 选定的执行计划中查询 ...
- MySQL查询优化之explain的深入解析
在分析查询性能时,考虑EXPLAIN关键字同样很管用.EXPLAIN关键字一般放在SELECT查询语句的前面,用于描述MySQL如何执行查询操作.以及MySQL成功返回结果集需要执行的行数.expla ...
- mysql中event的用法详解
一.基本概念mysql5.1版本开始引进event概念.event既“时间触发器”,与triggers的事件触发不同,event类似与linux crontab计划任务,用于时间触发.通过单独或调用存 ...
- Mysql_mysql 性能分析及explain用法
1 使用explain语句去查看分析结果,如 explain select * from test1 where id=1;会出现:id selecttype table type possi ...
- Mysql 分页语句Limit用法
转载自:http://qimo601.iteye.com/blog/1634748 1.Mysql的limit用法 在我们使用查询语句的时候,经常要返回前几条或者中间某几行数据,这个时候怎么办呢?不用 ...
- mysql索引原理及用法
MySQL索引原理及慢查询优化 Mysql explain用法和性能分析 MySQL 索引优化全攻略 1.索引作用 在索引列上,除了上面提到的有序查找之外,数据库利用各种各样的快速定位技术,能够大大提 ...
- MySQL--07 explain用法
目录 MySQL explain用法 一.explain命令应用 二. Extra(扩展) 三.建立索引的原则(规范) 总结: MySQL explain用法 一.explain命令应用 查询数据的方 ...
随机推荐
- robot framework---时间控件取值
项目中遇到日期控件定位不了,网上各种找,并没有适合我的,目前通过Javascript已解决了,再次做个记录,方便自己日后查找,如有同样问题的同学也可以有个参考! 先说明,不同的定位方式是看开发同学如何 ...
- Yarn 踩坑 : ERROR: Cannot find configuration directory "/xxxx/xxxx/xxxxx/hadoop-x.x.x/conf"
解决:在 yarn-env.sh 中,指定 YARN_CONF_DIR 为 hadoop 目录的 /etc/hadoop 在yarn-env.sh 中,配置: export YARN_CONF_DIR ...
- 当后台获取内容有标签时如何过滤---angular
$sce controller中注入$sce服务; 假设将获取到的标签内容为result; $scope.result = $sce.trustAsHtml(result); 在html页面中则< ...
- 移动Web UI库(H5框架)
1.Framework7 Framework7 - is a free and open source mobile HTML framework to develop hybrid mobile a ...
- IOS 下载app
---------------------------------------------------------------------------------------------------- ...
- JAVA-抽象类/类继承
1.当一个类继承一个抽象类的时候,必须实现抽象类的方法.如果子类没有实现父类的抽象方法,则必须将子类也定义为abstract类. 2.被final修饰的类为最终类,不能被继承.而类前面如果有abstr ...
- 为什么会出现container/injection的思想?
1.容器的历史 容器概念始于 1979 年提出的 UNIX chroot,它是一个 UNIX 操作系统的系统调用,将一个进程及其子进程的根目录改变到文件系统中的一个新位置,让这些进程只能访问到这个新的 ...
- web 服务发布注意事项
1.在发布的时候首先查看服务器对外开放的端口,如果没有最好和客户进行沟通需要开放那些对应的端口,要不外界无法访问发布的站点. 2.在oracle需要远程控制服务器的数据库的时候需要开发1521端口.
- BFS 路径记录
有一迷宫 N*M,要求输出可通行的最短路径. 可以先倒着 BFS 一遍迷宫,这样 dis[] 数组储存的就是各点到迷宫终点的最短距离. 然后再从起点开始 BFS 一遍 dis[] ,只要满足 dis[ ...
- 『TensorFlow』变量初始化
变量初始化实质 initializer操作的流程是调用Variable节点组中的Assign节点为节点操作单元分配初始值 变量初始化方法 tf.Variable_initializer([variab ...