MySQL的执行器是怎么工作的

作为优化器后的真正执行语句的层,执行器有三种方式和存储引擎(一般是innoDB)交互

  • 主键索引查询
    查询的条件用到了主键,这个是全表唯一的,优化器会选择const类型来查询,然后while循环去根据主键索引的B+树结构一条一条的查询是否符合条件,符合就发给客户端,不符合就跳过该条记录。(是一条一条的发送回server层的,只不过server要等到全部查询结束才会返还用户)。第一次查询会调用read_first_record来查询,后续while循环调用read_record继续查询
  • 全表扫描
    没有任何索引能用,那么优化器会选ALL类型的查询,同理,read_first_record,然后while调用read_record一条一条查询是否符合条件,符合就发回server层,反之跳过继续查询
  • 索引下推
    能够减少回表次数,提升查询效率,因为其将server层负责的事情下推到存储引擎层来处理了(尽管仍然没法完全发挥联合索引的功效),下面这个定位到age>20后:1、正常来讲要在二级索引B+树定位到age>20的第一条记录后,根据主键id去回表,将完整一行记录返回server层,然后在server层判断reward是否>100000,成立则发回客户端,否则跳过记录让存储引擎继续查;2、但是现在有索引下推了,在定位到第一条记录后,直接让存储引擎判断reward>100000不,成立的话回表然后发送数据给server层,否则直接跳过。优化器会采取Using index condition类型,代表使用了索引下推。
    在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

75基于matlab的模拟退火算法优化TSP(SA-TSP),最优路径动态寻优,输出最优路径值、路径曲线、迭代曲线。

基于matlab的模拟退火算法优化TSP(SA-TSP),最优路径动态寻优,输出最优路径值、路径曲线、迭代曲线。数据可更换自己的,程序已调通,可直接运行。 75matlab模拟退火算法TSP问题 (xiaohongshu.com)

YOLOv8-seg改进:注意力系列篇 | 一种简单有效的可变形的自注意力模块DAT | CVPR 2022

🚀🚀🚀本文改进:Deformable Attention Transformer,一种简单有效的可变形的自注意力模块,增强sparse attention 的表征能⼒; 🚀🚀🚀DAT小目标分割&复杂场景首选,实现涨点 🚀🚀🚀YOLOv8-seg创新专栏:http://t.csdnimg.cn/KLSdv 学姐带你学习YOL…

剑指JUC原理-19.线程安全集合

👏作者简介:大家好,我是爱吃芝士的土豆倪,24届校招生Java选手,很高兴认识大家📕系列专栏:Spring源码、JUC源码🔥如果感觉博主的文章还不错的话,请👍三连支持&…

WMS重力式货架库位对应方法

鉴于重力式货架的特殊结构和功能,货物由高的一端存入,滑至低端,从低端取出。所以重力式货架的每个货位在物理上都会有一个进货口和一个出货口。因此,在空间上,对同一个货位执行出入库操作需要处于不同的位置。 比如对…

敏捷开发中如何写好用户故事

写好用户故事是敏捷开发中非常重要的一环,它们是描述用户需求的核心。以下是一些关于如何编写优秀用户故事的建议: 使用标准模板: 一个常用的用户故事模板是“As a [用户角色],I want [功能],so that [价值]”。这种模…

VisualGDB 6.0 R2 Crack

轻松跨平台"VisualGDB 使 Visual Studio 的跨平台开发变得简单、舒适。它支持: 准系统嵌入式系统和物联网模块(查看完整列表) C/C Linux 应用程序 本机 Android 应用程序和库 Raspberry Pi 和其他Linux 板 Linux 内核模块(单…

22 - 如何优化垃圾回收机制?

我们知道,在 Java 开发中,开发人员是无需过度关注对象的回收与释放的,JVM 的垃圾回收机制可以减轻不少工作量。但完全交由 JVM 回收对象,也会增加回收性能的不确定性。在一些特殊的业务场景下,不合适的垃圾回收算法以及…

未来科技中的云计算之路

随着科技的不断发展,云计算已经不再是一个陌生的词汇,而是我们日常生活中不可或缺的一部分。从智能家居到无人驾驶,再到虚拟现实和人工智能,云计算在这些领域都扮演着至关重要的角色。在这篇博客中,我们将一同探索云计…

【AD封装】芯片IC-SOP,SOIC,SSOP,TSSOP,SOT(带3D)

包含了我们平时常用的芯片IC封装,包含SOP,SOIC,SSOP,TSSOP,SOT,总共171种封装及精美3D模型。完全能满足日常设计使用。每个封装都搭配了精美的3D模型哦。 ❖ TSSOP和SSOP 均为SOP衍生出来的封装。TSSOP的中文解释为:薄的缩小型 SOP封装。SSO…

【linux】进行间通信——共享内存+消息队列+信号量

共享内存消息队列信号量 1.共享内存1.1共享内存的原理1.2共享内存的概念1.3接口的认识1.4实操comm.hppservice.cc (写)clint.cc (读) 1.5共享内存的总结1.6共享内存的内核结构 2.消息队列2.1原理2.2接口 3.信号量3.1信号量是什么3…

springboot实现在线人数统计

在线人数统计 笔者做了一个网站,需要统计在线人数。 在线有两种: 一、如果是后台系统如果登录算在线,退出的时候或者cookie、token失效的时候就算下线 二、如果是网站前台,访问的时候就算在线 今天我们来讲一下第2种情况&…

【我和Python算法的初相遇】——体验递归的可视化篇

🌈个人主页: Aileen_0v0 🔥系列专栏:PYTHON数据结构与算法学习系列专栏💫"没有罗马,那就自己创造罗马~" 目录 递归的起源 什么是递归? 利用递归解决列表求和问题 递归三定律 递归应用-整数转换为任意进制数 递归可视化 画…