【mysql explain(转)】教程文章相关的互联网学习教程文章

MySQL中EXPLAIN的解释

是查看MySQL优化器如何决定执行查询的主要方法,这个功能具有局限性,以为它并总是会说出真相,但是却可以获得最好信息. 学会解释EXPLAIN,你就会了解MySQL优化器是如何工作,你才能去优化MySQL.如何调用? 只需要在SELECT前面加上EXPLAIN即可. 在语句结尾(;之前)加上\G能够更清晰的查看. 需要说的是EXPLAIN只对SELECT查询作解释,INSERT,UPDATE,DELETE不会哦.EXPLAIN中的列id列一个标识SELECT所属行编号,如果在语句中没有子查询或联合,说...

[mysql] mysql explain 使用【图】

1. id SELECT识别符。这是SELECT查询序列号。这个不重要,查询序号即为sql语句执行的顺序,看下面这条sql EXPLAINSELECT*FROM(SELECT* FROMuchome_space LIMIT10)ASs 它的执行结果为可以看到这时的id变化了 2.select_type select类型,它有以下几种值 2.1 simple 它表示简单的select,没有union和子查询 2.2 primary 最外面的select,在有子查询的语句中,最外面的select查询就是primary,上图中就是这样 2.3 union union语句的第二个或...

网站优化—mysql explain执行计划【图】

:通过上面的步骤就可以对MySQL进行调优,只要将上面的步骤重复不断执行,可以使用MySQL在最优的情况下工作。?profile定义:MySQL提供的一个可以分析SQL语句执行过程的工具,通过它大致可以了解到MySQL将如何执行用户传递过来的sql语句。 用法 使用的时候只要在对应的sql语句前面,加上关键字explain 或者同义词 desc # desc select * from tableName where id = 1000000; # explain select * from tableName where id = 1000000; ...

mysql查询语句分析 explain用法【代码】【图】

explain显示了mysql如何使用索引来处理select语句以及连接表。可以帮助选择更好的索引和写出更优化的查询语句。 使用方法,在select语句前加上explain就可以了,如:explain select * from statuses_status where id=11; explain列的解释table:显示这一行的数据是关于哪张表的 type:这是重要的列,显示连接使用了何种类型。从最好到最差的连接类型为const、eq_reg、ref、range、indexhe和all possible_keys:显示可能应用在这张表...

MySQL执行计划explain的key_len解析

前言当用Explain查看SQL的执行计划时,里面有列显示了 key_len 的值,根据这个值可以判断索引的长度,在组合索引里面可以更清楚的了解到了哪部分字段使用到了索引。下面演示中,表结构的合理性这边暂且不说,只是证明一下索引长度的计算方法。目前大部分博文是字符类型的索引长度计算方法,下面列举几个类型的索引长度计算方法:1、整数类型(dg1)root@127.0.0.1 [mytest]> desc table_key;+---------+-------------+------+-----+-...

mysql explain 命令讲解【代码】

explian命令可以显示select语句的执行计划 explain的结果中每行对应select语句中的一个表,输出结果中的顺序是按照语句处理表的顺序。 mysql使用嵌套循环来处理所有的join连接。 当使用了关键字extended后,explain可以查看到"show warnings"语句的内容,以及被过滤的列。 关键字"extented"和"partitions"不能一起使用,在5.6.5之后,这两个关键字都不可以和"format"一起使用。mysql> explain select * from emp ,dept where emp.d...

MySQL中explain的type类型

| ALL | 全表扫描 | index | 索引全扫描 | range | 索引范围扫描,常用语<,<=,>=,between等操作 | ref | 使用非唯一索引扫描或唯一索引前缀扫描,返回单条记录,常出现在关联查询中 | eq_ref | 类似ref,区别在于使用的是唯一索引,使用主键的关联查询 | const/system | 单条记录,系统会把匹配行中的其他列作为常数处理,如主键或唯一索引查询 | null...

详解 MySQL 中的 explain

select * from tbl_namewhere primary_key_part1=1 and primary_key_part2=2; eq_ref:从该表中会有一行记录被读取出来以和从前一个表中读取出来的记录做联合。与const类型不同的是,这是最好的连接类型。它用在索引所有部 分都用于做连接并且这个索引是一个primary key 或 unique 类型。 eq_ref可以用于在进行”=”做比较时检索字段。比较的值可以是固定值或者是表达式,表达示中可以使用表里的字段,它们在读表之前已经准备好 ...

mysql explain profile用法【图】

possible_keys:显示可能应用在这张表中的索引。如果为空,没有可能的索引。可以为相关的域从where语句中选择一个合适的语句key: 实际使用的索引。如果为null,则没有使用索引。很少的情况下,mysql会选择优化不足的索引。这种情况下,可以在select语句中使用use index(indexname)来强制使用一个索引或者用ignore index(indexname)来强制mysql忽略索引key_len:使用的索引的长度。在不损失精确性的情况下,长度越短越好ref:显...

MYSQL explain详解【图】

1. id SELECT识别符。这是SELECT查询序列号。这个不重要,查询序号即为sql语句执行的顺序,看下面这条sql EXPLAINSELECT*FROM(SELECT* FROMuchome_space LIMIT10)ASs 它的执行结果为可以看到这时的id变化了 2.select_type select类型,它有以下几种值 2.1 simple 它表示简单的select,没有union和子查询 2.2 primary 最外面的select,在有子查询的语句中,最外面的select查询就是primary,上图中就是这样 2.3 union union语句的第二个或...

mysql explain的使用(优化查询)【代码】

和写出更优化的查询语句。 1、创建数据库创建的sql语句如下:/*Navicat MySQL Data TransferSource Server : localhost-newpasswordSource Server Version : 50550Source Host : localhostSource Database : testExplainTarget Server Version : 50550File Encoding : utf-8Date: 08/05/2016 18:06:12 PM */SET NAMES utf8; SET FOREIGN_KEY_CHECKS = 0;-- ---------------------------- -- Tabl...

mysql explain的使用(优化查询)【代码】

使用方法:在select语句前加上explain 就可以了,如:explain select * from user where id = 1 结果:+----+-------------+-------+-------+------------------+---------+---------+-------+------+-------+ | id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | +----+-------------+-------+-------+------------------+---------+---------+-------+------+-------+ | 1 | ...

MySQL中EXPLAIN解释命令详解

MySQL中的explain命令显示了mysql如何使用索引来处理select语句以及连接表。explain显示的信息可以帮助选择更好的索引和写出更优化的查询语句。 1.EXPLAIN的使用方法:在select语句前加上explain就可以了。 如:explain select surname,first_name form a,b where a.id=b.id 2.EXPLAIN列的解释: table:显示这一行的数据是关于哪张表的 type:这是重要的列,显示连接使用了何种类型。从最好到最差的连接类型为const、eq_reg、ref、...

MySQL执行计划 EXPLAIN参数【代码】【图】

MySQL数据库中,在SELECT查询语句前边加上“EXPLAIN”或者“DESC”关键字,即可查看该查询语句的执行计划,分析执行计划是优化慢查询的重要手段。如:EXPLAIN SELECT * FROM school; DESC SELECT * FROM school;执行结果:执行计划参数.png接下来对这10个参数进行简单解释:1、id:在整个查询中SELECT的位置;2、select_type:查询的类型,包括没有子查询的简单查询、UNION、子查询、外部查询、外部查询中的子查询或FROM语句中的...

MySQL Explain 结果解读与实践

Explain 结果解读与实践 基于 MySQL 5.0.67 ,存储引擎 MyISAM 。 注:单独一行的"%%"及"`"表示分隔内容,就象分开“第一章”“第二章”。 explain 可以分析 select 语句的执行,即 MySQL 的“执行计划”: mysql> explain select 1; +----+-------------+-------+------+---------------+------+---------+------+------+----------------+| id | select_type | table | type | possible_keys | key | key_len | ref | ...

EXPLAIN - 相关标签