MySQL访问方法

news2025/1/17 0:54:58
  1. 访问方法(访问类型)
    1. Const
      1. 通过主键或者唯一二级索引来定位到唯一一条满足条件的数据的访问方法称为const。特别指出,如果主键中有两个列l1和l2,查询条件中只有l1的话访问方法就不是const,因为通过l1并不能确定唯一一条记录。
      2. 特别指出,因为要求符合条件的叶子节点只有一个,所以过滤条件一定是等值匹配。
      3. 因为唯一二级索引并不规定null值只能有一个,所以select * from single_table where key2 is null(key2为唯一二级索引)的时候,访问方法并不是const,而是ref。
    2. Ref
      1. 对于const来说,需要找到的列只有一个,所以一旦在叶子节点中找到符合条件的节点就可以了。Ref与const的区别就是,ref在找到满足条件的最小叶子节点之后,还需要继续往后遍历,找到所有满足条件的叶子节点。
      2. 特别指出,ref进行的是等值匹配,也就是过滤条件为where l1 > 1的时候是不能用ref的。
      3. 适合ref访问方法的场景
        1. 主键的中部分列。
        2. 唯一二级索引中的部分列。
        3. 一般的二级索引,因为这种索引没有唯一值要求。
        4. 唯一二级索引,一般二级索引且查询条件是where l1 is null。
      4. 如果索引中的列有多个,主要是最左边的连续列都是与常数的等值匹配就可能采用ref,注意是最左边连续列,注意是等值匹配。Const和ref都是针对等值匹配而言的。
    3. Ref_or_null
      1. 特别指出,针对的是二级索引的等值查询。where l1 = ‘abc’ or l1 is null。
      2. 分别在二级索引中找到null和abc对应的叶子节点,然后分别回表。
    4. Range
      1. 符合条件的数据处于某个区间中,这个区间有单点区间和范围连续区间,其实就是where l1 in (1,2,3) 和 where l1 > 1 的区别。
      2. 通过B+树进行range查找和ref的区别就是ref是先找到满足条件的最小节点,然后开始往后遍历,直到找到第一个比查询条件大的节点就停止。Range一开始也是先找到最小满足条件的节点,然后开始往后遍历,直到找齐所有落在目标区间的节点。
    5. Index
      1. 例如有个查询是SELECT key_part1, key_part2, key_part3 FROM single_table WHERE key_part2 = 'abc';
      2. 查询满足:1、查询的所有列都在idx_key_part中。2、查询的过滤条件也在idx_key_part中。
      3. 例如有个查询是SELECT key_pa这样的查询,可以通过遍历二级索引得到数据,因为二级索引中只有索引列数据和主键数据,而聚簇索引还有隐藏列,非索引列数据,索引列数据等,二级索引的数据量会比聚簇索引的数据量小很多,遍历起来也会快很多,这种遍历二级索引的方式成为index。rt1, key_part2, key_part3 FROM single_table WHERE key_part2 = 'abc';
    6. all
      1. 遍历聚簇索引进行比较得到数据。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/524138.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

VisualStudio如何配置PCL点云库?

文章目录 0.引言1.准备PCL点云库2.VisualStudio相关设置3.配置PCL点云库4.测试PCL 0.引言 因笔者课题涉及点云处理,需要通过PCL进行点云数据分析处理,查阅现有网络资料,实现了VisualStudio2015(x86)配置PCL1.8.1点云库,本文记录实…

Python——pyqt-auto-tool自动化小工具(源码)

目录 一、演示视频 二、代码包 三、使用步骤 四、总结 一、演示视频 pyqt-auto-tool自己乱改的自动化小工具_哔哩哔哩_bilibili今天教资考试完,花半天自己乱改的自动化小工具pyqt-auto-tool,二开1、auto-tool原作者:https://www.bilibil…

学习通项目需要用到的

思路: 把长连接弄好课堂详细页面可以看到班级的所有学生,双击学生弹窗,可以确认从该课程中移除学生教师可以在班级详细页面通过输入学生的id,将学生加入该班级做好签到的页面,输入签到标题,选择签到的结束…

玩转计算机组成原理--指令系统

目录 一、机器指令 1.1指令的一般格式 1.操作码: 2.地址码 1.2指令字长 二、操作数类型和操作类型 2.1操作数类型 2.2操作类型 三、寻址方式(重要) 3.1指令寻址 1.顺序寻址 2.跳跃寻址 3.2数据寻址 1.立即寻址 2.直接寻址 3.隐含寻址 4.间接寻址 5.寄存器寻址 …

创作星-创意大爆发!AI文案生成器让创作轻松快捷,轻松撰写出热门标题。

一、创作星-创意大爆发!AI文案生成器让创作轻松快捷,轻松撰写出热门标题。 ✨使用“创作星”,让AI帮你生成惊艳的文案! ✨创意大爆发!AI文案生成器让创作轻松快捷,轻松撰写出热门标题。 ✨AI文案神器&…

【Linux指令④】Linux查看日历、时间、打包压缩文件、Linux中的计算器,常用热键 关机指令

Linux指令 ❀date❀cal❀findwhichwhereis ❀grep❀zip/unzip❀tar❀bc❀常用的热键❀关机🍀小结🍀 🎉博客主页:小智_x0___0x_ 🎉欢迎关注:👍点赞🙌收藏✍️留言 🎉系列专…

kubectl常用命令|pod生命周期|金丝雀发布|超详细

kubectl常用命令|pod生命周期|金丝雀发布|超详细 一 kubectl常用命令1.1 查看版本信息1.2查看资源对象简写1.3查看集群信息1.4 配置kubectl自动补全1.5node节点查看日志 二 k8s基本信息查看2.1 查看 master 节点状态2.2 查看命令空间2.3 创建和删除命名空间2.4 在命名空间kube-…

python读写json文件方法详解

在我们日常使用 Python时,经常会使用到 json文件。那么在平时写一些小程序时,如何使用 json文件呢?今天我将介绍如何读取和写入 Json文件。 json是一种数据结构,它是将字符串转换成数据的一种技术。使用 json可以非常方便的将一组…

在CentOS上安装Docker的步骤

在CentOS上安装Docker的步骤如下: 更新系统: sudo yum update 添加Docker官方存储库: sudo yum install -y yum-utils sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo yum-config-manag…

FL 3D segment

HarmoFL:在异构医学图像联邦学习中协调本地和全局漂移 多个医疗机构联合使用联邦学习(FL)训练模型已成为最大化数据驱动模型潜力的有前途的解决方案,但医学图像中的非独立和非同分布(non-iid)数据仍然是实…

支付系统设计三:渠道网关设计03-参数验证

文章目录 前言一、参数校验1. MessageDescription内容2. 参数验证执行器3. 字段验证处理器4. 验证器工厂5. style校验器6. 验证器接口7. 长度校验器8. 枚举类型校验器9. yml配置9.1 deduct.yml9.2 style.yml 二、幂等校验总结 前言 在《支付系统设计三:渠道网关设计…

linux内核编译不通过问题的两种排查方法(非正式)

目录 一、前言 二、 问题现象 三、问题排查思路1:问题所在处向上排查 3.1 整体思路 3.2 排查过程 3.3 资料查询 3.4 尝试动作1:开启相应配置项 3.4.1 检查内核配置项 3.4.2 开启配置项 3.4.3 尝试编译 四、问题排查思路2:从上向下排…

讯飞星火大模型体验报告

近日,科大讯飞召开了星火认知大模型成果发布会,会上表示讯飞星火大模型将突破开放式问答,对标ChatGPT,在中文能力上超过ChatGPT,在英文能力上与ChatGPT相当。对此,你怎么看? 笔者准备给bing/ch…

数据结构第二天:File Transfer 【树的应用:集合】

原题是英文的:题目详情 - 05-树8 File Transfer (pintia.cn) 我用软件翻译了一下: 我们有一个计算机网络和一系列双向连接。这些连接中的每一个都允许文件从一台计算机传输到另一台计算机。有没有可能从网络上的任何一台计算机向其他计算机发送文件? Input Specif…

STM32 学习笔记_7 定时器中断:输出比较

输出比较 电机相关比较重要。 OC Output Compare(IC 是输入捕获,CC代指这两个单元),用于输出一定频率和占空比的PWM波形。 右下角四个就是CCR。只有通用计时器和高级计时器有,共用一个cnt计数器,高级计数…

(数字图像处理MATLAB+Python)第七章图像锐化-第四节:频域高通滤波与综合案例

文章目录 一:频域高通滤波(1)理想的高通滤波器(2)巴特沃斯高通滤波器(3)指数高通滤波器(4)梯形高通滤波器 二:综合案例——人像美化(1&#xff09…

C语言函数大全-- w 开头的函数(2)

C语言函数大全 本篇介绍C语言函数大全-- w 开头的函数 1. wcstok 1.1 函数说明 函数声明函数功能wchar_t *wcstok(wchar_t *wcs, const wchar_t *delim, wchar_t **ptr);用于将一个长字符串拆分成几个短字符串(标记),并返回第一个标记的地…

非煤矿山电子封条建设算法 yolov8

非煤矿山电子封条建设算法模型通过yolov8网络模型AI视频智能分析技术,算法模型对作业状态以及出井入井人员数量变化、人员睡岗离岗等情况实时监测分析,及时发现异常动态,自动推送生成的违规截图报警信息。现代目标检测器大部分都会在正负样本…

免费下载Sketch模板素材一文搞定!

对于设计师来说,UI 模板素材是提高设计效率和保证设计质量的重要工具。然而,很多设计师在使用 Sketch 时,会遇到 Sketch 模板素材不足、格式不兼容或使用成本高等问题。本文将为你介绍一款资源齐全、跨平台、无需下载、免费使用的 Sketch 模板…

Tips for Deep Learning

目录 Recipe of Deep Learning Good Results on Training Data? New activation function Adaptive learning rate Good Results on Testing Data? Early Stopping Regularization Dropout Recipe of Deep Learning 我们要做的第一件事是&#x…