type类型 | 解释 |
---|---|
null | – |
system | const的特例,仅返回一条数据的时候 |
const | 查找主键索引,返回的数据至多一条(0或者1条),属于精确查找 |
eq_ref | 查找唯一性索引,返回的数据至多一条(0或者1条),属于精确查找 |
ref | 查找非唯一性索引,返回匹配某一条件的多条数据,数据返回可能是多条,属于精确查找 |
range | 查找某个索引的部分索引,一般在where子句中使用 < 、>、in、between等关键词,只检索给定范围的行,属于范围查找 |
index | 查找所有的索引树,比ALL要快的多,因为索引文件要比数据文件小的多,ALL不使用任何索引,进行全表扫描,性能最差 |
从下到上逐渐变好,使用的索引至少要达到range 级别
id 为主键索引, s_mobile为唯一索引
- const
- eq_ref
- ref
- range
- index
不使用where 条件,仅仅使用一个排序,会使用索引,进行排序,但是取出数据的速度,并没有ALL快,毕竟多了个排序过程。例如:
如果是从索引就可获取到数据,那使用index的话,速度是超过ALL的,例如:
- ALL