【mysql explain的使用(优化查询)】教程文章相关的互联网学习教程文章

mysql优化--explain分析sql语句执行效率

Explain语法:explain select … from … [where …] 例如:explain select * from news; 输出:+----+-------------+-------+-------+-------------------+---------+---------+-------+------| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |+----+-------------+-------+-------+-------------------+---------+---------+-------+------ 下面对各个属性进行了解: 1、id:这是SELEC...

详解MySQL中EXPLAIN解释命令

surname,first_name form a,b where a.id=b.id EXPLAIN列的解释: table:显示这一行的数据是关于哪张表的 type:这是重要的列,显示连接使用了何种类型。从最好到最差的连接类型为const、eq_reg、ref、range、indexhe和ALL possible_keys:显示可能应用在这张表中的索引。如果为空,没有可能的索引。可以为相关的域从WHERE语句中选择一个合适的语句 key: 实际使用的索引。如果为NULL,则没有使用索引。很少的情况下,MYSQL会选择...

mysql explain22222 system > const > eq_ref > ref > fulltext > ref_or_null > index_merge > unique_subquery > index_subquery > range > index > ALL

1.使用explain语句去查看分析结果 如explain select * from test1 where id=1;会出现:id selecttype table type possible_keys key key_len ref rows extra各列。 其中, type=const表示通过索引一次就找到了; key=primary的话,表示使用了主键; type=all,表示为全表扫描; key=null表示没用到索引。type=ref,因为这时认为是多个匹配行,在联合查询中,一般为REF。 2.MYSQL中的组合索引 假设表有id,key1,key2,key3,把三者...

MySQL的Explain关键字查看是否使用索引【图】

explain显示了MySQL如何使用索引来处理select语句以及连接表。可以帮助选择更好的索引和写出更优化的查询语句。简单讲,它的作用就是分析查询性能。explain关键字的使用方法很简单,就是把它放在select查询语句的前面。mysql查看是否使用索引,简单的看type类型就可以。如果它是all,那说明这条查询语句遍历了所有的行,并没有使用到索引。 比如:explain select * from company_info where cname like ‘%小%‘explain select * ...

mysql explain详解【代码】

下面是使用 explain 的例子: 在 select 语句之前增加 explain 关键字,MySQL 会在查询上设置一个标记,执行查询时,会返回执行计划的信息,而不是执行这条SQL(如果 from 中包含子查询,仍会执行该子查询,将结果放入临时表中)。mysql> explain select * from actor; +----+-------------+-------+------+---------------+------+---------+------+------+-------+ | id | select_type | table | type | possible_keys | key |...

mysql优化----explain的列分析【代码】【图】

1: sql语句的时间花在哪儿? 答: 等待时间 , 执行时间. 等待时间:看是不是被锁住了,那就不是语句层面了是服务端层面了,看连接数内存。 执行时间:到底取出多少行,一次性取出1万行那是你的sql语句写的失败,二是扫描多少行,扫描多少行需要技术来分析,通过explain来分析。 可以重构查询和切分查询。2: sql语句的执行时间,又花在哪儿了? 答:a: 查 ----> 沿着索引查,甚至全表扫描b: 取 ----> 查到行后,把数据取出来(sending dat...

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

使用方法,在select语句前加上explain就可以了,如:EXPLAIN select * from erp_goods_info where skucode = 6928083900014;explain列的解释table:显示这一行的数据是关于哪张表的type:这是重要的列,显示连接使用了何种类型。从最好到最差的连接类型为const、eq_reg、ref、range、indexhe和allpossible_keys:显示可能应用在这张表中的索引。如果为空,没有可能的索引。可以为相关的域从where语句中选择一个合适的语句key: 实...

MYSQL explain详解【图】

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

mysql的explain

表示通过索引一次就找到了;key=primary的话,表示使用了主键;type=all,表示为全表扫描;key=null表示没用到索引。 type=ref,因为这时认为是多个匹配行,在联合查询中,一般为REF。经过分析后就可以判断出哪些字段需要建 索引,哪些条件可以优化等. 以及条数等system> const > eq_ref > ref > fulltext > ref_or_null > index_merge > unique_subquery > index_subquery > range > index > ALLmysql的explain标签:com poi i...

MySQL通过Explain查看select语句的执行计划结果触发写操作【代码】

table if not exists person(id int not null auto_increment primary key,name varchar(16) );create table if not exists person_opration_log(id int not null auto_increment primary key,pid int not null,access_datetime datetime );delimiter // create function fun_person_log(pid int) returns intbegininsert into person_opration_log(pid,access_datetime) values(pid,now());return pid;end //delimiter ; 正常的数...

mysql explain的使用【图】

一、explain返回各列的含义:1、table:显示这一行的数据是关于那张表的 2、type:重要的列,显示连接使用了何种类型,从最好到最差的连接类型为const、eq_reg、ref、range、index、ALL 3、possible_keys:显示可能应用在这张表中的索引,如果为空,没有可能的索引 4、key:实际使用的索引,如果为NULL,则没有使用索引 5、key_len:使用的索引的长度,在不损失精确性的情况下,长度越短越好 6、ref:显示索引的哪一列被使用了,如果...

MySQL Explain详解【代码】【图】

mysql> explain select * from servers; +----+-------------+---------+------+---------------+------+---------+------+------+-------+ | id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | +----+-------------+---------+------+---------------+------+---------+------+------+-------+ | 1 | SIMPLE | servers | ALL | NULL | NULL | NULL | NULL | 1 ...

MySQL学习----explain查看一条sql 的性能【代码】

Explain语法:explain select … from … [where ...] 例如:explain select * from news; 输出: +----+-------------+-------+-------+-------------------+---------+---------+-------+------+-------+| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |+----+-------------+-------+-------+-------------------+---------+---------+-------+------+-------+ 下面对各个属性进行了解...

MySQL查询优化之explain的深入解析

MySQL 查询优化器有几个目标,但是其中最主要的目标是尽可能地使用索引,并且使用最严格的索引来消除尽可能多的数据行。最终目标是提交 SELECT 语句查找数据行,而不是排除数据行。优化器试图排除数据行的原因在于它排除数据行的速度越快,那么找到与条件匹配的数据行也就越快。如果能够首先进行最严格的测试,查询就可以执行地更快。EXPLAIN 的每个输出行提供一个表的相关信息,并且每个行包括下面的列: 项 说明id MySQL Query Optimize...

mysql explain结果含义【图】

在SQL语句前面加上EXPLAIN即可各字段含义idSELECT识别符。这是SELECT的查询序列号select_typeSELECT类型,可以为以下任何一种:SIMPLE:简单SELECT(不使用UNION或子查询) PRIMARY:最外面的SELECT UNION:UNION中的第二个或后面的SELECT语句 DEPENDENT UNION:UNION中的第二个或后面的SELECT语句,取决于外面的查询 UNION RESULT:UNION 的结果 SUBQUERY:子查询中的第一个SELECT DEPENDENT SUBQUERY:子查询中的第一个SELECT,取决于外面的查...