MySQL执行计划参数详解

转http://www.jianshu.com/p/7134286b3a09

MySQL数据库中,在SELECT查询语句前边加上“EXPLAIN”或者“DESC”关键字,即可查看该查询语句的执行计划,分析执行计划是优化慢查询的重要手段。如:

EXPLAIN SELECT * FROM school; DESC    SELECT * FROM school;

执行结果:

执行计划参数.png

接下来对这10个参数进行简单解释:

1、id:在整个查询中SELECT的位置;

2、select_type:查询的类型,包括没有子查询的简单查询、UNION、子查询、外部查询、外部查询中的子查询或FROM语句中的子查询等;

3、table:所查询的表名;

4、type:连接如何执行的情况。这里存在很多值,范围从const(最佳)到ALL(最差);

5、possible_keys:为了提高查询速度,在MySQL中可以使用的索引;

6、key:实际使用的索引;

7、key_len:索引的长度;

8、ref:使用哪一列或常数与key一起从表中选择行;

9、rows:MySQL需要在相应表中为了成功进行查询,进行检验的行的数量。为了得出总行数,MySQL必须扫描处理整个查询,再乘以每个表的行值;

10、Extra:其他信息,涉及MySQL如何处理查询,比如说,使用WHERE语句、使用一个索引、利用一个临时表等;

其中select_type可以是:

SIMPLE
PRIMARY
UNION
DEPENDENT UNION
UNION RESULT
SUBQUERY
DEPENDENT SUBQUERY
DERIVED

type可以是:

system
const
eq_ref
ref
ref_or_null
index_merge
unique_subquery
index_subquery
range
index
ALL

Extra可以是:

Distinct
Not exists
range checked for each record (index map
Using filesort
Using index
Using temporary
Using where
Using sort_union(...), Using union(...), Using intersect(...)
Using index for group-by

MySQL执行计划 EXPLAIN参数相关推荐

  1. MySQL执行计划EXPLAIN详解

    说明 该文章针对InnoDB存储引擎B树索引的优化,前提要对B树索引有一定的理解. 查询SQL执行加载顺序 这是我们写SQL的流程: SELECT a.`name` FROM a LEFT JOIN ...

  2. mysql执行计划explain介绍_Mysql执行计划EXPLAIN详解

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

  3. MYSQL执行计划EXPLAIN

    实际项目开发中,由于我们不知道实际查询的时候数据库里发生了什么事情,数据库软件是怎样扫描表.怎样使用索引的,因此,我们能感知到的就只有 sql语句运行的时间,在数据规模不大时,查询是瞬间的,因此,在写 ...

  4. mysql 执行计划 什么用_简述MySQL的执行计划的作用及使用方法

    作为程序员,难免要和数据库打交道,一般情况下,我们不是DBA ,但是又要写很多SQL,因此SQL效率就成了很大的问题.关于SQL效率优化,除了要掌握一定优化技巧外, 还得有很多经验的积累,但是这里我们 ...

  5. Mysql执行计划含义,mysql执行计划介绍

    烂sql不仅直接影响sql的响应时间,更影响db的性能,导致其它正常的sql响应时间变长.如何写好sql,学会看执行计划至关重要.下面我简单讲讲mysql的执行计划,只列出了一些常见的情况,希望对大家 ...

  6. 引导mysql执行计划_Mysql执行计划详解

    --歌手表 CREATE TABLE`singer` ( `id`int(11) unsigned NOT NULL, `update_time`datetime DEFAULT NULL, `nam ...

  7. MYSQL查看执行计划 Explain

    1. 概述: 执行计划的查看是进行数据库的sql语句调优时依据的一个重要依据,mysql的执行计划查看相对oracle简便很多,功能也相对简单很多的SQL语句都不能直接查看. 本文档整理了mysql执 ...

  8. Mysql学习总结(76)——MySQL执行计划(explain)结果含义总结

    前言 对于MySQL执行计划的获取,我们可以通过explain方式来查看,explain方式看似简单,实际上包含的内容很多,尤其是输出结果中的type类型列.理解这些不同的类型,对于我们SQL优化举足 ...

  9. mysql执行计划命令_【MySQL】EXPLAIN命令详解--解释执行计划

    具体参考: 原文如下: 在工作中,我们用于捕捉性能问题最常用的就是打开慢查询,定位执行效率差的SQL,那么当我们定位到一个SQL以后还不算完事,我们还需要知道该SQL的执行计划,比如是全表扫描,还是索 ...

最新文章

  1. 《iPhone与iPad开发实战—iOS经典应用剖析》连载二
  2. 数组是逻辑结构还是存储结构_数据结构之存储方式
  3. vc++ 将可执行文件链接到 DLL
  4. java分页模板_java 分页模型的模板
  5. python 霍夫直线变换_OpenCV-Python 霍夫线变换 | 三十二
  6. 计算机视觉论文-2021-06-16
  7. ASP.NET 1.1与ASP.NET 2.0 应用运行并存
  8. matlab中nc文件,教程合集 | MATLAB文件读写(以nc与txt为例)
  9. Microsoft .Net Remoting系列专题之二
  10. 关闭window 8.1 的skydrive
  11. 10.2. Incron - cron-like daemon which handles filesystem events
  12. Word文件标尺工具被隐藏,怎么恢复
  13. ORA-20011 ORA-29913 KUP-11024问题处理
  14. 97年大学计算机考试是 级,1997年9月全国计算机等级考试一级笔试试卷 DOS
  15. 字典(python学习)
  16. 区块链和博弈论(以下转载自网络)
  17. 老婆学计算机视频,教老婆学电脑-5.14
  18. Dex文件格式扫描器:特征API的检测和扫描(小工具一枚)
  19. html5 video标签播放视频流解决方案
  20. Verilog编程规范——reset

热门文章

  1. 解决办法:Transport security has blocked a cleartext HTTP (http://) resource load since it is insecure. T
  2. android本地gradle地址,android gradle本地路径不存在
  3. python调用http方法_python 使用poster模块进行http方式的文件传输到服务器的方法
  4. shell 脚本批量安装perl包
  5. informix数据库启动/停止
  6. 解决PLSQL Developer 插入中文 乱码问题
  7. Memcached主主复制+Keepalived高可用架构
  8. U3D-页游-检测机制-webplayer-调试方法
  9. 阿里云发布聆听平台 全球招募300位MVP
  10. chmod命令-权限