explain详解:
用explain可以查看sql的执行计划,查看该sql有没有使用索引,有没有做全表扫描;我们要可以了解mysql基于开销的优化器,以及运行当前sql时那种优化策略会被优化器采用;
explain SELECT *from netspider where email=‘122255858@qq.com’
Id:查询的顺序号
Select_type:查询的类型
Table:输出结果集的表
Partitions:匹配的分区
Type:表的查询类型
Possible_keys:可能使用的索引
Key:世纪使用的索引
Key_len:索引字段的长度
Ref:列与索引的比较
Rows:估算要扫描的行数
Filtered:按表条件过滤的行百分比
Extra:执行情况的描述和说明
1、id
是每个select查询的序列号,一个sql中有几个查询就会有几个序列号,id越大查询越先执行,相同的id是从上往下执行,id为nul则最后执行。
2、select_type查询的类型
1)、SIMPLE:简单的查询,不使用union或子查询
2)、PRIMARY:子查询中最外层的查询
3)、UNION: union中第二个或后面的查询语句
4)、DERIVED:from子句的子查询,mysql会把子查