Bootstrap

如何查看MySQL的执行计划

一、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子句的子查询中ÿ

;