MySQL执行计划 EXPLAIN参数
MySQL执行计划参数详解
MySQL数据库中,在SELECT查询语句前边加上“EXPLAIN”或者“DESC”关键字,即可查看该查询语句的执行计划,分析执行计划是优化慢查询的重要手段。如:
EXPLAIN SELECT * FROM school; DESC SELECT * FROM school;
执行结果:
接下来对这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参数相关推荐
- MySQL执行计划EXPLAIN详解
说明 该文章针对InnoDB存储引擎B树索引的优化,前提要对B树索引有一定的理解. 查询SQL执行加载顺序 这是我们写SQL的流程: SELECT a.`name` FROM a LEFT JOIN ...
- mysql执行计划explain介绍_Mysql执行计划EXPLAIN详解
分析查询性能时,考虑EXPLAIN关键字同样很管用.EXPLAIN关键字一般放在SELECT查询语句的前面,用于描述MySQL如何执行查询操作.以及MySQL成功返回结果集需要执行的行数.explai ...
- MYSQL执行计划EXPLAIN
实际项目开发中,由于我们不知道实际查询的时候数据库里发生了什么事情,数据库软件是怎样扫描表.怎样使用索引的,因此,我们能感知到的就只有 sql语句运行的时间,在数据规模不大时,查询是瞬间的,因此,在写 ...
- mysql 执行计划 什么用_简述MySQL的执行计划的作用及使用方法
作为程序员,难免要和数据库打交道,一般情况下,我们不是DBA ,但是又要写很多SQL,因此SQL效率就成了很大的问题.关于SQL效率优化,除了要掌握一定优化技巧外, 还得有很多经验的积累,但是这里我们 ...
- Mysql执行计划含义,mysql执行计划介绍
烂sql不仅直接影响sql的响应时间,更影响db的性能,导致其它正常的sql响应时间变长.如何写好sql,学会看执行计划至关重要.下面我简单讲讲mysql的执行计划,只列出了一些常见的情况,希望对大家 ...
- 引导mysql执行计划_Mysql执行计划详解
--歌手表 CREATE TABLE`singer` ( `id`int(11) unsigned NOT NULL, `update_time`datetime DEFAULT NULL, `nam ...
- MYSQL查看执行计划 Explain
1. 概述: 执行计划的查看是进行数据库的sql语句调优时依据的一个重要依据,mysql的执行计划查看相对oracle简便很多,功能也相对简单很多的SQL语句都不能直接查看. 本文档整理了mysql执 ...
- Mysql学习总结(76)——MySQL执行计划(explain)结果含义总结
前言 对于MySQL执行计划的获取,我们可以通过explain方式来查看,explain方式看似简单,实际上包含的内容很多,尤其是输出结果中的type类型列.理解这些不同的类型,对于我们SQL优化举足 ...
- mysql执行计划命令_【MySQL】EXPLAIN命令详解--解释执行计划
具体参考: 原文如下: 在工作中,我们用于捕捉性能问题最常用的就是打开慢查询,定位执行效率差的SQL,那么当我们定位到一个SQL以后还不算完事,我们还需要知道该SQL的执行计划,比如是全表扫描,还是索 ...
最新文章
- 《iPhone与iPad开发实战—iOS经典应用剖析》连载二
- 数组是逻辑结构还是存储结构_数据结构之存储方式
- vc++ 将可执行文件链接到 DLL
- java分页模板_java 分页模型的模板
- python 霍夫直线变换_OpenCV-Python 霍夫线变换 | 三十二
- 计算机视觉论文-2021-06-16
- ASP.NET 1.1与ASP.NET 2.0 应用运行并存
- matlab中nc文件,教程合集 | MATLAB文件读写(以nc与txt为例)
- Microsoft .Net Remoting系列专题之二
- 关闭window 8.1 的skydrive
- 10.2. Incron - cron-like daemon which handles filesystem events
- Word文件标尺工具被隐藏,怎么恢复
- ORA-20011 ORA-29913 KUP-11024问题处理
- 97年大学计算机考试是 级,1997年9月全国计算机等级考试一级笔试试卷 DOS
- 字典(python学习)
- 区块链和博弈论(以下转载自网络)
- 老婆学计算机视频,教老婆学电脑-5.14
- Dex文件格式扫描器:特征API的检测和扫描(小工具一枚)
- html5 video标签播放视频流解决方案
- Verilog编程规范——reset
热门文章
- 解决办法:Transport security has blocked a cleartext HTTP (http://) resource load since it is insecure. T
- android本地gradle地址,android gradle本地路径不存在
- python调用http方法_python 使用poster模块进行http方式的文件传输到服务器的方法
- shell 脚本批量安装perl包
- informix数据库启动/停止
- 解决PLSQL Developer 插入中文 乱码问题
- Memcached主主复制+Keepalived高可用架构
- U3D-页游-检测机制-webplayer-调试方法
- 阿里云发布聆听平台 全球招募300位MVP
- chmod命令-权限