MYSQL执行计划的type有几种?按照级别倒序分别列出?
时间: 2023-12-06 16:40:58 浏览: 104
MySQL执行计划中的type共有8种,按照级别倒序列出如下:
1. `system`:表中仅有一行记录(等于系统表),这是const类型的特例。
2. `const`:通过索引一次就找到了,const用于比较primary key或者unique索引。因为只匹配一行数据,所以很快。
3. `eq_ref`:唯一性索引扫描,对于每个索引键,表中只有一条记录与之匹配。常见于主键或唯一索引扫描。
4. `ref`:非唯一性索引扫描,返回匹配某个单独值的所有行。本质上也是一种索引访问,它返回所有匹配某个单独值的行,然而它可能会找到多个符合条件的行,所以它应该属于查找和扫描的混合体。
5. `range`:只检索给定范围的行,使用一个索引来选择行。key列显示使用了哪个索引。此类型通常出现在where子句中,只有部分索引被使用,返回匹配一个范围的行。
6. `index`:Full Index Scan,索引全扫描,把索引从头到尾扫描一遍。
7. `all`:Full Table Scan,将遍历全表以找到匹配的行。
8. `NULL`:无法使用索引查找,必须遍历整个表。
阅读全文