Explain是用于显示SQL执行计划的利器,可以很好的帮助优化Sql以及找到优化的方向,让Sql以更优的方式执行。本文会说明explain展示参数代表的信息
id
- id表示当前记录在sql执行时候的执行顺序,ID大则先执行,如果ID相同,则从上向下执行。
简单的select语句则只有一条记录,如果是包含子查询或者关联查询等select语句就会有多个explain记录
table
- 表示当前explain记录查询的数据表
select_type
- 查询类型,简单的select或者复杂的select,显示当前sql在执行计划中是什么样的查询类型
- SIMPLE
简单查询(select * from table) - PRIMARY
如果查询有复杂的子查询,则外层查询标记为PRIMARY - SUBQUERY
如果SELECT列表中包含子查询,则显示为SUBQUERY - DERIVED
FROM后面包含子查询,则为派生表(FROM后面有子查询不一定是派生表,派生表一定在FROM后面有子查询) - UNION
在sql语句中有UNION或者UNION ALL关联查询 - UNION RESULT
从UNION的结果集中检索数据的SELECT
- SIMPLE
type
-
访问