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命令应用 查询数据的方 ...
随机推荐
- LRU的实现
https://blog.csdn.net/elricboa/article/details/78847305 未看懂https://zhuanlan.zhihu.com/p/34133067
- java笔记 -- 类与对象
封装: 从形式上看, 封装是将数据和行为组合在一个包中, 并对对象的使用者隐藏了数据的实现方式. 对象中的数据称为实例域, 操纵数据的过程称为方法. 对于每个特定的类实例(对象)都有一组特定的实例域值 ...
- JxBrowser之五:清除cache和cookie以及SSL证书处理
1.清除cache和cookie //清除cache browser.getCacheStorage().clearCache(); browser.getLocalWebStorage().clea ...
- 调用系统命令 os.system()和os.popen()
Python中os.system和os.popen区别 Python调用Shell,有两种方法:os.system(cmd)或os.popen(cmd)脚本执行过程中的输出内容.实际使用时视需求情况而 ...
- guxh的python笔记七:抽象基类
1,鸭子类型和白鹅类型 1.1,白鹅类型 白鹅类型对接口有明确定义,比如不可变序列(Sequence),需要实现__contains__,__iter__,__len__,__getitem__,__ ...
- 压力测试+接口测试(工具jmeter)
jmeter是apache公司基于java开发的一款开源压力测试工具,体积小,功能全,使用方便,是一个比较轻量级的测试工具,使用起来非常简单.因 为jmeter是java开发的,所以运行的时候必须 ...
- JavaScript的DOM对象
HTML DOM (文档对象模型) 当网页被加载时,浏览器会创建页面的文档对象模型(Document Object Model). HTML DOM 模型被构造为对象的树. HTML DOM 树 通过 ...
- mysql查看配置生效
mysql> show status like 'Threads%';+-------------------+-------+| Variable_name | Value |+--- ...
- linux搭建node环境
这篇完全够了! 地址:https://www.cnblogs.com/lovefc/p/8847343.html 附上一张图:
- localStorage、sessionStorage用法以及区别
设置: sessionStorage.setItem("key", "value");localStorage.setItem("site" ...