| 列(Column) | 含义(Meaning) |
| — | — |
| id | The SELECT identifier(每个select子句的标识id) |
| select_type | The SELECT type(select语句的类型) |
| table | The table for the output row(当前表名) |
| partitions | The matching partitions (显示查询将访问的分区,如果你的查询是基于分区表) |
| type | The join type(当前表内访问方式) |
| possible_keys | The possible indexes to choose(可能使用到的索引) |
| key | The index actually chosen(经过优化器评估最终使用的索引) |
| key_len | The length of the chosen key (使用到的索引长度) |
| ref | The columns compared to the index(引用到的上一个表的列) |
| rows | Estimate of rows to be examined (要得到最终记录索要扫描经过的记录数) |
| filtered | Percentage of rows filtered by table condition(存储引擎返回的数据在server层过滤后,剩下满足查询的记录数量的比例) |
| extra | Additional information (额外的信息说明) |
重要字段(我个人认为的)再释义:
id:这列就是查询的编号,如果查询语句中没有子查询或者联合查询这个标识就一直是1。如存在子查询或者联合查询这个编号会自增。
type:此列是在优化SQL语句时最需要关注的列之一,此列显示了查询使用了何种类型。
以下排序从最优到最差:
system:表内只有一行数据
const:最多只会有一条记录匹配,常用于主键或者唯一索引为条件查询
eq_ref:当连接使用的索引为主键和唯一时会出现
ref:使用普通索引=或<=> 运算符进行比较将会出现
fulltext:使用全文索引
ref_or_null:跟ref类型类似,只是增加了null值的判断,实际用的不多。语句为where name = ‘kaka’ and name is null,name为普通索引。
index_merge:查询语句使用了俩个以上的索引,常见在使用and、or会出现,官方文档将此类型放在ref_or_null之后,但是在很多的情况下由于读取索引过多性能有可能还不如range
unique_subquery:用于where中的in查询,完全替换子查询,效率更高。语句为value IN (SELECT primary_key FROM single_table WHERE some_expr)
index_subquery:子查询中的返回结果字段组合是一个索引(或索引组合),但不是一个主键或唯一索引
range:索引范围查询,常见于使用 =, <>, >, >=, <, <=, IS NULL, <=>, BETWEEN, IN()或者like等运算符的查询中。
index:索引全表扫描,把索引从头到尾扫一遍
all:全表扫描,性能最差。
key:上面写着
rows:这是mysql估算的需要扫描的行数(不是精确值)。这个值非常直观显示 SQL 的效率好坏, 原则上 rows 越少越好。
extra:在大多数情况下会出现以下几种情况。
Using index:使用了覆盖索引,查询列都为索引字段
Using where:使用了where语句
Using temporary :查询结果进行排序的时候使用了一张临时表
最后
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
朋友可以戳我获取!!**](https://bbs.csdn.net/topics/618164986)
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!