MySQL执行计划解读

执行计划


select_type 

表示查询中每个select子句的类型(简单 OR复杂)

a. SIMPLE:查询中不包含子查询或者UNION
b.查询中若包含任何复杂的子部分,最外层查询则被标记为:PRIMARY
c.在SELECT或WHERE列表中包含了子查询,该子查询被标记为:SUBQUERY
d.在FROM列表中包含的子查询被标记为:DERIVED(衍生)
e.若第二个SELECT出现在UNION之后,则被标记为UNION;若UNION包含在  FROM子句的子查询中,外层SELECT将被标记为:DERIVED
f.从UNION表获取结果的SELECT被标记为:UNION RESULT

MySQL执行计划解读_第1张图片

ALL: 全表扫描。

index: 只遍历索引树。

range: 索引范围扫描,常见于between、<、>等的查询。

ref:非唯一性索引扫描

eq_ref:唯一性索引扫描。

const、system:当MySQL对查询某部分进行优化,并转换为一个常量时,使用这些类型访问。如将主键置于where列表中,MySQL就能将该查询转换为一个常量。

key

显示MySQL在查询中实际使用的索引,若没有使用索引,显示为NULL。
其他详细计划请参考

转载:http://www.cnblogs.com/ggjucheng/archive/2012/11/11/2765237.html

你可能感兴趣的:(mysql,数据库,mysql执行计划)