explain模拟优化器执行SQL语句,在5.6以及以后的版本中,除过select,其他比如insert,update和delete均可以使用explain查看执行计划,从而知道mysql是如何处理sql语句,分析查询语句或者表结构的性能瓶颈。 作用 1、表的读取顺序 2、数据读取操作的操作类型 3、哪些索引可以使用 4、哪些索引被实际使用 5、表之间的引用 6、每...
use index:表示相应的select中使用了覆盖索引,避免访问了表的数据行, 效率很好 using where:表明使用了where过滤。 using join buffer:使用了连接缓存。 3. 分析常见问题和优化建议 在分析EXPLAIN输出时,可以根据以下常见问题和优化建议进行评估: 全表扫描(ALL):如果type列显示为ALL,表示查询执行全表扫描,这通常是性...
explain select * from t_demo where c1='d1'and c2='d2' and c3='d3'; explain select * from t_demo where c2='d2'and c1='d1' and c3='d3'; explain select * from t_demo where c3='d3'and c1='d1' and c2='d3'; 几个Sql表现一致 type=ref,ref=const,const,const 执行常量等...
MySQL优化后的语句:/* select#1 */ select `dbs`.`t2`.`id` AS `id`,`dbs`.`t2`.`key2` AS `key2` from `dbs`.`t2` where (<in_optimizer>(`dbs`.`t2`.`key2`,<exists>(<primary_index_lookup>(<cache>(`dbs`.`t2`.`key2`) in t3 on PRIMARY where ((`dbs`.`t2`.`key2` =...
explain select * from employees where name = 'zhangsan' explain结果 image-20230120121225512 现在,可以简单解读以下其中几个列 1、select_type: 查询类型,SIMPLE:简单查询 2、table: 查询的表 3、possible_keys: 执行该sql可能会用的索引,注意是可能,该列意义不大。
用法:EXPLAIN+ sql语句 EXPLAIN执行后返回的信息如下: 各个字段的大致含义如下: id: SELECT 查询的标识符. 每个 SELECT 都会自动分配一个唯一的标识符. select_type: SELECT 查询的类型. table: 查询的是哪个表 partitions: 匹配的分区 type: join 类型 ...
mysql> explain select title from film\G *** 1. row *** id: 1 select_type: SIMPLE table: film type: index possible_keys: NULL key: idx_title key_len: 767 ref: NULL rows: 1024 Extra: Using index 1 row in set (0.00 sec) type...
EXPLAINSELECT*FROMs1WHEREkey1IN(SELECTkey1FROMs2)ORkey3='a'; 1. 如果包含子查询的查询语句不能欧转为对应的semi-join 的形式,并且该子查询是相关子查询,则该子查询的第一个 SELECT 关键字代表的那个查询的select_type 就是DEPENDENT SUBQUERY。
一 简介:今天咱们来聊聊explain的select_type 二 类型 (1)SIMPLE 简单的SELECT语句(不包括UNION操作或子查询操作) (2)PRIMARY/UNION PRIMARY:查询中最外层的SELECT(如两表做UNION或者存在子查询的外层的表操作为PRIMARY,内层的操作为UNION) ...
今天我们来分析一下,在explain中11种不同type代表的含义以及其应用场景。 1、system 应用场景:表中只有一条数据,且存储引擎可以准确的统计到这条数据。 system一般出现在MyISAM、memory类型的表查询中。 由于我们一般使用的存储引擎都是InnoDB,所以system这种类型很少会用到。