一、EXPLAIN语法
语法:EXPLAIN SELECT
1、EXPLAIN EXTENDED SELECT 将执行计划“反编译”成SELECT语句,运行SHOW WARNINGS 可得到被MySQL优化器优化后的查询语句
2、EXPLAIN PARTITIONS SELECT 用于分区表的EXPLAIN
3、在Navicat图形化界面中,点击“解释”出现执行计划的信息
二、执行计划中的信息
1、id:包含一组数字,表示查询中执行select子句或操作表的顺序。id相同,可以认为是一组,从上往下顺序执行;在所有组中,id值越大,优先级越高,越先执行。
2、select_type:主要用于区别普通查询, 联合查询, 子查询等复杂查询。
SIMPLE:查询中不包含子查询或者UNION
查询中若包含任何复杂的子部分,最外层查询则被标记为:PRIMARY
在SELECT或WHERE列表中包含了子查询,该子查询被标记为:SUBQUERY
在FROM列表中包含的子查询被标记为:DERIVED(衍生)
若第二个SELECT出现在UNION之后,则被标记为UNION;若UNION包含在FROM子句的子查询中ÿ