前言:
这篇文章主要讲 explain 如何使用,还有 explain 各种参数概念,之后会讲优化
一、Explain 用法
模拟Mysql优化器是如何执行SQL查询语句的,从而知道Mysql是如何处理你的SQL语句的。分析你的查询语句或是表结构的性能瓶颈。
语法:Explain + SQL 语句;
如:Explain select * from user; 会生成如下 SQL 分析结果,下面详细对每个字段进行详解
二、id
是一组数字,代表多个表之间的查询顺序,或者包含子句查询语句中的顺序,id 总共分为三种情况,依次详解
id 相同,执行顺序由上至下
id 不同,如果是子查询,id 号会递增,id 值越大优先级越高,越先被执行
id 相同和不同的情况同时存在
三、select_type
select_type 包含以下几种值
simple
primary
subquery
derived
union
union result
simple
简单的 select 查询,查询中不包含子查询或者 union 查询