开源中文网

您的位置: 首页 > mSQL > 正文

Msql EXPLAIN中的type列含义

来源: 酱油不是醋  作者: 佚名

EXPLAIN type指标按效率从高到低

systme>const>eq_ref>ref>fulltext>ref_or_null>index_merge>unique_subquery>index_subquery>range>index>all


其中 systme const eq_ref ref range index all 是比较常见的几种
  • systme/const : 单条记录,系统会把匹配行中的其他列作为常数处理,如主键或唯一索引查询

  • eq_ref : 类似ref,区别在于使用的是唯一索引,使用主键的关联查询

  • ref : 使用非唯一索引扫描或唯一索引前缀扫描,返回单条记录,常出现在关联查询中

  • range : 索引范围扫描,常用语<,<=,>=,between等操作

  • index : 索引全扫描

  • all : 全表扫描


其余其中type值
  • fulltext : 全文索引检索,要注意,全文索引的优先级很高,若全文索引和普通索引同时存在时,mysql不管代价,优先选择使用全文索引

  • ref_or_null : 与ref方法类似,只是增加了null值的比较。实际用的不多

  • index_merge : 表示查询使用了两个以上的索引,最后取交集或者并集,常见and ,or的条件使用了不同的索引,官方排序这个在ref_or_null之后,但是实际上由于要读取所个索引,性能可能大部分时间都不如range

  • unique_subquery:用于where中的in形式子查询,子查询返回不重复值唯一值

  • index_subquery : 用于in形式子查询使用到了辅助索引或者in常数列表,子查询可能返回重复值,可以使用索引将子查询去重。

Tags:含义
相关文章列表:
关于开源中文网 - 联系我们 - 广告服务 - 网站地图 - 版权声明