MySQL OCP888题解013-执行计划中type字段值为range

1、原题

1.1、英文原题

1.2、答案

C

2、题目解析

2.1、题干解析

本题考察的是MySQL执行计划中type字段的值的含义。

2.2、选项解析

由于type值为range表示基于索引的范围查询,所以选项C正确。

3、知识点

3.1、知识点1:执行计划的输出格式

  • 执行计划为SELECT语句中使用的每个表返回一行信息。它在输出中按照MySQL在处理语句时读取它们的顺序列出表。对于执行计划的输出字段,解释如下(由于执行计划也可以提供JSON格式,因此如下表格第一列是一般情况下的字段名,第二列是JSON格式下的字段名):

  • select_type字段的可选值说明如下:

  • type(连接类型字段)的可选值说明如下,以下值对于查询性能来说从最佳到最差依次向下排列:


  • Extra列说明如下。注意Extra列出现Using filesort和Using temporary时,查询效率会有问题:

官方参考文档
官方参考文档

4、总结

  1. 执行计划中的type字段代表连接类型,最好的是SYSTEM和CONST(一般是用常量基于主键或唯一索引进行过滤),一般出现eq_ref也比较好(一般也是基于主键或唯一索引进行过滤)。出现ref表示是索引的最左匹配或者是没有用到唯一索引。再往下依次是fulltext、ref_or_null、index_merge、unique_subquery、index_subquery、range、index、all。可以看到有没有用到主键或唯一索引,是影响查询性能的关键。
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值