explain

简介:
explain 可以帮助我们在不真正执行某个sql语句时,就执行mysql怎样执行,这样利用我们去分析sql指令.尽量避免全表扫描。

复制代码
Id:
SELECT识别符。这是SELECT的查询序列号
SELECT * FROM emp WHERE empno = 3 and ename = (SELECT ename FROM emp WHERE empno =  4) \G;

select_type:
PRIMARY    :子查询中最外层查询
SUBQUERY : 子查询内层第一个SELECT,结果不依赖于外部查询
DEPENDENT SUBQUERY:子查询内层第一个SELECT,依赖于外部查询
UNION   :UNION语句中第二个SELECT开始后面所有SELECT,
SIMPLE
UNION RESULT UNION 中合并结果

Table:显示这一步所访问数据库中表名称

Type:对表访问方式
ALLSELECT * FROM emp \G,完整的表扫描 通常不好
SELECT * FROM (SELECT * FROM emp WHERE empno = 3) a ;
System,表仅有一行(=系统表)。这是const联接类型的一个特
Const,表最多有一个匹配行

Possible_keys:该查询可以利用的索引,如果没有任何索引显示  null

Key :所选择使用索引

Rows:执行查询时必须检查的行数
EXPLAIN SELECT * FROM emp WHERE empno < 50 \G;
EXPLAIN SELECT * FROM emp WHERE empno = 50 \G;

Extra:查询细节信息
No tables :没查表
Using filesort  
当Query中包含 ORDER BY 操作,而且无法利用索引完成排序,
 Impossible WHERE noticed after reading const tables: MYSQL Query Optimizer
通过收集统计信息不可能存在结果
Using temporary
某些操作必须使用临时表,常见 GROUP BY  ; ORDER BY
Using where
不用读取表中所有信息,仅通过索引就可以获取所需数据;

Key_len :被选中使用索引的索引长度
复制代码

 

本文转自农夫山泉别墅博客园博客,原文链接:http://www.cnblogs.com/yaowen/p/8206660.html,如需转载请自行联系原作者

相关文章
|
5月前
|
SQL 数据库
SQL 查询优化指南:SELECT、SELECT DISTINCT、WHERE 和 ORDER BY
SQL的SELECT语句用于从数据库中选择数据。SELECT语句的基本语法如下:
92 1
|
2月前
|
SQL 关系型数据库 数据库
在 Postgres 中使用子查询
【8月更文挑战第11天】
74 1
在 Postgres 中使用子查询
|
2月前
|
SQL 数据采集 关系型数据库
在 Postgres 中使用 CTE
【8月更文挑战第11天】
72 0
在 Postgres 中使用 CTE
|
5月前
|
SQL 关系型数据库 MySQL
explain是什么?explain优缺点及如何使用explain优化SQL
explain是什么?explain优缺点及如何使用explain优化SQL
112 1
|
5月前
|
存储 关系型数据库 MySQL
MySQL查询执行计划详解(EXPLAIN)
一、单表查询 访问方法/访问类型: • const:通过主键值或唯一二级索引与一个常熟进行等值查询(不包括NULL),只会生成一条记录 • ref:普通二级索引与一个常数进行等值比较,可能生成多条记录 • ref_or_null:ref的前提下可以加上or key is null • range:对应的扫描区间为若干个单点扫描区间或范围扫描区间(不包括负无穷到正无穷的范围) • index:扫描区间为全表,但是可以在二级索引中扫描(因为二级索引每条记录占用空间更小,所以需要读的页更少) • all:直接扫描全部的聚集索引记录
|
11月前
|
缓存 关系型数据库 MySQL
explain
explain
55 0
|
SQL 存储 缓存
Mysql优化之explain你真的会吗?
Mysql优化之explain你真的会吗?
64 0
|
存储 SQL 关系型数据库
Optimizing Queries with EXPLAIN(用explain来优化查询语句)
Optimizing Queries with EXPLAIN(用explain来优化查询语句)
35 0
|
SQL 关系型数据库 MySQL
使用explain分析你SQL执行计划
使用explain分析你SQL执行计划
|
SQL
explain分析查询
explain分析查询
57 0