本篇主要讲解sql优化explain中的type字段。
1. type字段相关属性
system > const > eq_ref > ref > range > index > All
从左到右性能依次下降。
2. 属性详解
1. system
表数据只存在一条出现该属性值。
2. const
1> 查询条件只使用唯一索引,且最终结果只有一条记录(索引只扫描一次)
2> 表连接情况下,使用连接字段为唯一索引,且最终连接结果只有一条结果
匹配(索引只扫描一次)
3. eq_ref
与const一样,只使用唯一索引,但是匹配结果是多条。
4. ref
查询条件或者连接条件出现非唯一索引。
5. range
查询条件索引字段出现范围查询,如in,or等。
6. index
使用到了索引,即为index。
注: 以上六条全部建立在index的基础之上。
7. All
当index都不满足则会出现All。
注: select * from table_name
虽然上面的sql没有出现索引失效和使用非索引字段作为查询或连接条件。
但由于是全表扫描,所以也是All。
第一次写文章,有错误的话可以指出来,谢谢。