explain type比较常见的
时间: 2023-08-03 21:05:49 浏览: 164
MySQL中比较常见的explain type包括:
1. const:当查询条件中包含主键或唯一索引,且只返回一条数据时,使用该类型。这是最快的查询类型,因为它只需要访问一行数据。
2. eq_ref:当查询使用了连接(JOIN)操作,并且被连接的表的查询条件是通过主键或唯一索引进行匹配时,使用该类型。这种类型的查询通常会访问到被连接表的一行数据。
3. ref:当查询使用了连接操作,并且被连接的表的查询条件是通过普通索引进行匹配时,使用该类型。这种类型的查询会访问到被连接表的多行数据。
4. range:当查询使用了范围条件(例如使用了 BETWEEN、>、< 等操作符)来匹配索引时,使用该类型。这种类型的查询会访问到索引的一个范围。
5. index:当查询只使用了索引进行扫描,而没有访问表中的实际数据时,使用该类型。这种类型的查询通常发生在覆盖索引的情况下,可以减少磁盘IO的开销。
6. all:当查询需要扫描整个表时,使用该类型。这是最慢的查询类型,应尽量避免。
通过分析explain type可以帮助我们判断查询性能瓶颈所在,从而优化查询语句或调整索引来提升查询效率。
相关问题
mysql Explain type详解
MySQL 的 `EXPLAIN` 命令用于分析查询语句的执行过程。在使用 `EXPLAIN` 命令时,会返回一个结果集,其中包含关于查询语句的执行计划的信息。这些信息包括:查询使用的索引、数据表的连接顺序、以及查询执行时扫描的行数。
MySQL 中 Explain 的结果有如下几种类型
- `system` :单个表的查询,MySQL会将这张表一次性读取到内存中
- `const`: 确定结果集中最多有一行输出
- `eq_ref`: 使用索引查询主键或唯一键,每次查询最多返回一行
- `ref`: 使用索引查询非唯一键,可能会返回多行
- `range`: 使用索引查询一个范围内的数据
- `index`: 全表扫描
EXPLAIN 命令返回的结果集中一般有以下几列:
- id: 查询语句中表的序号
- select_type: 查询类型
- table: 查询使用的数据表
- type: 查询执行计划类型
- possible_keys: 可能使用的索引
- key: 实际使用的索引
- key_len: 使用的索引长度
- ref: 使用的索引字段
- rows: 查询估计扫描的行数
- Extra: 其它信息,常见的有'Using index', 'Using temporary', 'Using filesort'等
通过分析这些信息可以
explain 之 type
根据引用和引用的内容,explain之type是用来显示查询的访问类型的。不同的访问类型对应不同的查询效率。下面是一些常见的访问类型:
1. NULL:MySQL不访问任何表,直接返回结果。
2. system:表只有一行记录,一般不会出现。
3. const:通过索引一次找到了匹配的记录,一般用于比较主键或唯一索引。
4. eq_ref:类似ref,但使用的是唯一索引,关联查询出的记录只有一条。
5. ref:非唯一性索引扫描,返回匹配某个单独值的所有行。
6. range:只检索给定范围内的行,使用一个索引来选择行,比如使用between或者in操作符。
7. index:遍历索引树,比ALL快,但仍需要遍历索引来找到匹配的行。
8. ALL:遍历全表来找到匹配的行,效率最低。
所以,explain之type的值表示了查询的访问类型,可以用来判断查询的效率和潜在的查询瓶颈。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* [explain 之 type](https://blog.csdn.net/Leon_Jinhai_Sun/article/details/121526415)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
- *3* [详解mysql中explain的type](https://download.csdn.net/download/weixin_38566318/14831633)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
阅读全文