个人公众号,欢迎关注下:小蜗牛会飞
mysql explain优化关键字mysql 的 explain 关键字https://mp.weixin.qq.com/s/5NZuir6OmehkFr1jg_TM-Q
本次我们来聊聊 mysql 的 explain 关键字,这个在我们日常开发中,对于 sql 的优化过程必不可少的步骤,应该很多人都玩过这个关键字,下面我们就来说说这个关键字。
首先我们简单的看个例子,看看这个关键字会输出什么?
EXPLAIN SELECT * FROM sys_user
运行结果:
这个语句给我们输出很多其他信息,这就是我们在优化 sql 的时候必须知道的一些信息,才能知道如何去优化 sql,我们首先来看看这个写字段代表的是什么意思。
1. id:
这个是 select 识别符,为 sql 的执行顺序,该值越大越优先执行,如果都相同,那么谁排在最前面谁先执行。
2. select_type:
select 的类型,这里展示的是每个 sql 查询语句的类型,有以下几种类型:
2.1. simple 类型,它表示的是简单的查询,没有复杂的查询语句,比如没有 union 和子查询
2.2. primary 类型,在有子查询的sql语句中,最外层的 sql 语句就是 primary 的查询类型。
2.3. union 类型,该类型是查询语句中有union关键字联合查询,查询语句中union中的第二个或者最后一个的 select sql 查询语句的类型就是该类型
2.4. dependent union 类型,union中的第二个或者后面的 select 语句,取决于外面的查询