当前位置: 首页 > article >正文

我们来学mysql -- EXPLAIN之type(原理篇)

EXPLAIN之type

  • 题记
  • 示例表
  • type

题记

  • 书接上文《 EXPLAIN之select_type》
  • 2024美国大选已定,川普剑登上铁王座,在此过程中出谋划策的幕僚很重要,是他们决定了最终的执行计划
  • 在《查询成本之索引选择》中提到,explain的输出,就是优化器(幕僚)选择的执行计划
  • 除了SELECT开头的查询,DELETE、INSERT、UPDATE也都有执行计划,这里只关注SELECT
  • 从输出的计划中可见很多字段,传达了什么样的信息,接下来看type
  • 同时这里约束如何描述查询条件
    • 字段 = 值 ,字段 > 值,字段 in (值1,值2)
    • 字段 + 操作符 + 值 = 查询条件

示例表

  • 字段
    在这里插入图片描述

  • 索引
    在这里插入图片描述

type

  • 传达的信息就是《查询成本之索引选择》提到执行计划访问方法

  • 就是说,有无使用了索引,是聚簇还是二级

  • 说人话呢,用字典查字,是从目录找,还是一页页查

  • all访问方法

    • 从第一页开始查,查到为止(全表扫描),不叼索引
  • const访问方法

    • 通过主键或者唯一二级索引与常数进行匹配
    • 按人话说就是:
      • id(主键-聚簇索引)或某个编号(唯一二级索引)字段通过等号操作符作为查询条件
        EXPLAIN select * from ucoding where id = 7
        在这里插入图片描述

        EXPLAIN select * from ucoding where k2 = '10'
        在这里插入图片描述

  • ref访问方法

    • 普通二级索引列与常量等值匹配
    • 按人话说就是:
      • 姓名(普通二级索引,会有重复)字段+等号操作符构建出查询条件
        EXPLAIN select * from ucoding where k1 = 'Ra309'
        在这里插入图片描述
  • range访问方法

    • 看了上面的例子,估计有点飘了,仔细一都是等号操作符
    • 等号操作符扫索引只是形成单点扫描区域,参考《使用索引》
      • 如 id = 7 , 单点扫描区域是[7,7]
    • 扫描索引,获取多个单点扫描区间的索引记录,或者范围扫描区间的索引记录
    • 按人话咋说?词穷了…如图表示
      • [3600,3600] 一个单点扫描区间

      • [3400,3400],[3600,3600] 多个个单点扫描区间

      • [1200,1300],[3600,3600] 范围扫描区间
        在这里插入图片描述

      • EXPLAIN select * from ucoding where k1 in ('Ra309','Wcc4d')
        在这里插入图片描述

      • select k1 from ucoding where 1 <= id and id <= 20
        在这里插入图片描述
        在这里插入图片描述


http://www.kler.cn/a/401768.html

相关文章:

  • Java中日志采集框架-JUL、Slf4j、Log4j、Logstash
  • 【python】Bokeh 与 Plotly:创建交互式数据可视化工具
  • 【计算机网络安全】湖北大学-mysql事务隔离性实验
  • ue中使用webui有效果白色拖动条 有白边
  • 17.100ASK_T113-PRO 配置QT运行环境(三)
  • uniapp微信小程序转发跳转指定页面
  • Swift 数组
  • 安装 Ubuntu 桌面系统
  • [论文阅读] 异常检测 Deep Learning for Anomaly Detection: A Review(三)总结梳理-疑点记录
  • iOS 键盘弹出视图精准上移
  • 深度解析FastDFS:构建高效分布式文件存储的实战指南(下)
  • qiankun主应用(vue2+element-ui)子应用(vue3+element-plus)不同版本element框架css样式相互影响的问题
  • Linux驱动开发快速入门——字符设备驱动(直接操作寄存器设备树版)
  • MySQL系统优化
  • 芯片之殇——“零日漏洞”(文后附高通64款存在漏洞的芯片型号)
  • css iframe标签使用
  • LeetCode - #138 随机链表的复制
  • 多品牌摄像机视频平台EasyCVR视频融合平台+应急布控球:打造城市安全监控新体系
  • 服务器产品
  • 最小生成树应用北极通讯网络
  • JavaScript高效处理CSV文件的操作指南
  • Misc_01转二维码(不是二进制)
  • 【软考】系统架构设计师-信息安全技术基础
  • 【网络】数据链路层协议——以太网,ARP协议
  • DAHL:利用由跨越 29 个类别的 8,573 个问题组成的基准数据集,评估大型语言模型在生物医学领域长篇回答的事实准确性。
  • 《C++ 实现区块链:区块时间戳的存储与验证机制解析》