03-MySQL explain
简述 MySQL 的执行计划 explain
详细可参考:https://blog.csdn.net/fenglepeng/article/details/103392319
- 语法:explain + SQL语句
- 作用:SQL在数据库中执行时的表现情况,通常用于SQL性能分析,优化等场景。
- 示例:explain select * from rbac_userinfo where id=1;
执行计划是指一条 SQL 语句在经过 MySQL 查询优化器的优化会后,具体的执行方式。
EXPLAIN 并不会真的去执行相关的语句,而是通过 查询优化器 对语句进行分析,找出最优的查询方案,并显示对应的信息。
EXPLAIN 适用于 SELECT、DELETE、INSERT、REPLACE、UPDATE 语句,我们一般分析 SELECT 查询较多。
EXPLAIN 的输出格式如下:
| 1 |  | 
各个字段的含义如下:
| 列名 | 含义 | 
|---|---|
| id | SELECT 查询的序列标识符 | 
| select_type | SELECT 关键字对应的查询类型 | 
| table | 用到的表名 | 
| partitions | 匹配的分区,对于未分区的表,值为 NULL | 
| type | 表的访问方法 | 
| possible_keys | 可能用到的索引 | 
| key | 实际用到的索引 | 
| key_len | 所选索引的长度 | 
| ref | 当使用索引等值查询时,与索引作比较的列或常量 | 
| rows | 预计要读取的行数 | 
| filtered | 按表条件过滤后,留存的记录数的百分比 | 
| Extra | 附加信息 | 
怎么验证 MySQL 的索引是否满足需求?
使用 explain 查看 SQL 是如何执行查询语句的,从而分析你的索引是否满足需求。
03-MySQL explain
      https://flepeng.github.io/interview-41-数据库-41-MySQL-03-MySQL-explain/