index:扫描全表索引,比ALL快一些(index是从索引中读取的,all是从硬盘中读取)。 全表扫描,意味着MySQL需要从头到尾的去查找所需要的行,通常情况下这需要增加索引来进行优化。 5、possible_keys列 possible_keys列表示显示查询可能使用哪些索引来查找。 explain时可能出现possible_keys列,而key列显示NULL的情况
用法:EXPLAIN+ sql语句 EXPLAIN执行后返回的信息如下: 各个字段的大致含义如下: id: SELECT 查询的标识符. 每个 SELECT 都会自动分配一个唯一的标识符。 select_type: SELECT 查询的类型。 table: 查询的是哪个表。 partitions: 匹配的分区。 type: join 类型。 possible_keys: 此次查询中可能选用的索引。 key: ...
mysql>EXPLAINSELECT*FROMinventoryWHEREitem_id=16102176\G;***1. row***id:1select_type: SIMPLEtable: inventory type:ALLpossible_keys:NULLkey:NULLkey_len:NULLref:NULLrows:787338Extra: Usingwhere 这个QEP 显示没有使用任何索引(也就是全表扫描)并且处理了大量的行来满足查询。对同样一条SELECT 语句,一...
EXPLAIN SELECT * FROM customer WHERE customer_id =10; 根据唯一索引unique index进行的查询: EXPLAIN SELECT * FROM customer WHERE email ='MARY.SMITH@sakilacustomer.org'; 7、type=NULL,MySQL不用访问表或者索引,直接就能够得到结果 possible_keys:表示查询可能使用的索引 key(非常重要): 实际使用的索引,key...
explain 执行计划中包含的信息如下: id: 查询序列号 select_type: 查询类型 table: 表名或者别名 partitions: 匹配的分区 type: 访问类型 possible_keys: 可能用到的索引 key: 实际用到的索引 key_len: 索引长度 ref: 与索引比较的列 rows: 估算的行数 ...
使用mysql许可 mysql possible_keys 执行计划解析(全字段) 使用执行计划 EXPLAIN 或者 DESC EXPLAIN select * from user 1. 可以得到以下返回结果 这些字段的含义分别是 id: 在一个大的查询语句中每个 SELECT 关键字都对应一个唯一的 id select_type: SELECT 关键字对应的那个查询的类型...
通常比all快,因为索引文件比数据文件小很多。7.all:遍历全表以找到匹配的行 type常见类型从最优到最差:system>const>eq_ref>ref>range>index>ALL注意:一般保证查询至少达到range级别,最好能达到ref。 possible_keys: 代码语言:javascript 代码运行次数:0
EXPLAINSELECT*FROMs1WHEREkey1IN(SELECTkey1FROMs2WHEREs1.key1=s2.key2)ORkey3='a'; 1. 需要注意的是,select_type为DEPENDENT SUBQUERY的查询可能会被执行多次。 在包含 UNION或者UNION ALL 的大查询中,如果各个小查询都依赖于外层查询的话,那除了最左边的那个小查询之外,其余的小查询的...
简介:MYSQL性能调优02_Explain概述、详解id、select_type、table、type、possible_keys、key、key_len、ref、rows、Extra列(二) ③. id字段 ①. id列的编号是select的序列号,有几个select就有几个id,下面将分析三种情况 ②. id相同,执行顺序由上到下 ...
这个字段完全独立于explain 显示的表顺序。这就意味着 possible_keys里面所包含的索引可能在实际的使用中没用到。如果这个字段的值是null,就表示没有索引被用到。这种情况下,就可以检查 where子句中哪些字段那些字段适合增加索引以提高查询的性能。就这样,创建一下索引,然后再用explain 检查一下。