MySQL的执行器是怎么工作的

news2024/12/23 22:17:40

作为优化器后的真正执行语句的层,执行器有三种方式和存储引擎(一般是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.coloradmin.cn/o/1222770.html

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

相关文章

go zero手把手教你入门案例

一、入门案例 1、在黑窗口上安装 go install github.com/zeromicro/go-zero/tools/goctllatest2、使用goland创建一个项目 3、在项目中安装依赖 go get -u github.com/zeromicro/go-zerolatest4、模拟创建一个user的项目 goctl api new user5、安装依赖包 go mod tidy6、补充代…

数字音频工作站FL Studio21.1中文版本如何下载?

在现在这个数字音乐时代,各种音乐中都或多或少有些电子音乐的影子,或是合成器音色、或是通过数字效果器制作出的变幻莫测的变化效果。而小马丁、Brooks、Eliminate等众多电子音乐巨头便是使用FL Studio来制作音乐的。今天小编就以FL Studio五年的资深用户…

⑩④【MySQL】什么是视图?怎么用?视图的检查选项? 视图的作用?[VIEW]

个人简介:Java领域新星创作者;阿里云技术博主、星级博主、专家博主;正在Java学习的路上摸爬滚打,记录学习的过程~ 个人主页:.29.的博客 学习社区:进去逛一逛~ 视图VIEW ⑩④详解MySQL视图1. 视图的基本使用…

U盘如何自定义图标?

1、准备一张图片,转换为.ico格式,转换格式的工具推荐一个ToYcon 转换好后放到拷贝到u盘里面。 2、在u盘里面新建一个文本文档,在文档里面写入以下内容,注意,这里的test为图片的名称。 根据自己图片名称做一下修改。 […

CAD Exchanger SDK 3.23.0 的亮点

代号“CAD Exchanger MTK”的新兴产品首次亮相,支持新版本的流行格式,重新设计的 BIM 模型结构以及 3.23.0 中的 SDK 文档修订 阅读最新版本编写的 Autodesk Inventor 和 NX 文件,享受更严格的 BIM 模型结构,轻松浏览 SDK 文档&am…

三次握手和四次握手到底有啥区别?

1. 三次握手 TCP 协议中,在发送数据的准备阶段,客户端与服务器之间的三次交互,以保 证连接的可靠。 • 第一次握手,客户端向服务器端发起 TCP 连接的请求• 第二次握手,服务器端发送针对客户端 TCP 连接请求的确认•…

FISCO BCOS 3.0【01】搭建第一个区块链网络

官方技术文档:https://fisco-bcos-doc.readthedocs.io/zh-cn/latest/index.html 我们在官方技术文档的基础上,进行,对文档中一些不清楚的地方进行修正 搭建Air版本FISCO BCOS联盟链 本节以搭建单群组FISCO BCOS链为例操作,使用开…

NPDP 02组合管理

NPDP 产品经理认证知识体系指南解读,02组合管理 第二章 组合管理 公司战略或经营战略以及创新战略,为竞争性创新投资之间的权衡决策提供了整体方向和框架。在发展和持续性维护一个组织的产品组合时,总要面对一系列彼此竞争资源和投资的项目。…

Spring Cloud学习(九)【Elasticsearch 分布式搜索引擎01】

文章目录 初识 elasticsearch了解 ES倒排索引ES 的一些概念安装es、kibana安装elasticsearch部署kibana 分词器安装IK分词器ik分词器-拓展词库 索引库操作mapping 映射属性索引库的 CRUD 文档操作添加文档查看、删除文档修改文档Dynamic Mapping RestClient 操作索引库什么是Re…

Docker之DockerFile解析

DockerFile解析 是什么 Dockerfile是用来构建Docker镜像的文本文件,是由一条条构建镜像所需的指令和参数构成的脚本。 概述 官网 https://docs.docker.com/engine/reference/builder/ 构建三步骤 编写Dockerfile文件 docker build命令构建镜像 docker run依镜像运…

轻地图+数据闭环加速落地,觉非科技获多家头部车企定点

‍作者 |张祥威 编辑 |德新 智能驾驶日益普及,「轻地图」和「数据闭环」成为各家能力比拼的关键,车企对此的需求也逐渐迫切。 11月16日,觉非科技宣布已与多家头部主机厂达成量产定点合作,围绕轻地图与数据闭环服务,支…

人工智能Keras的第一个图像分类器(CNN卷积神经网络的图片识别)

CNN卷积神经网络是人工智能的开端,CNN卷积神经网络让计算机能够认识图片,文字,甚至音频与视频。CNN卷积神经网络的基础知识,可以参考:CNN卷积神经网络 LetNet体系结构是卷积神经网络的“第一个图像分类器”。最初设计用于对手写数字进行分类,上期文章我们分享了如何使用k…

.Net6 部署到IIS示例

基于FastEndpoints.Net6 框架部署到IIS 环境下载与安装IIS启用与配置访问网站 环境下载与安装 首先下载环境安装程序,如下图所示,根据系统位数选择x86或者x64进行下载安装,网址:Download .NET 6.0。 IIS启用与配置 启用IIS服务 打开控制面板&#xff…

深度学习基础知识——从人工神经网络开始

一、介绍 您知道第一个神经网络是在 20 世纪 50 年代初发现的吗? 深度学习 (DL) 和神经网络 (NN) 目前正在推动本世纪一些最巧妙的发明。他们从数据和环境中学习的令人难以置信的能力使他们成为机器学习科学家的首选。 深度学习和神经网络是自动驾驶汽车、图像识别软…

AI先行者第三辑:石油专家正在加速“吸入”AI养分

AI对于石油行业而言,绝不是一个非此即彼、非黑即白、有用或者无用的简单命题,而是一个如何不断深入去提升效率,逐步证明自己价值的过程。 本篇作者安鹏,中国海洋石油集团有限公司信息技术中心 技术中台工程师;AICA首席…

22款奔驰S450L升级钢琴内饰板 完美的融合进去

钢琴拉丝桃木面板装车让人眼前一亮,内饰的豪华度和高级感立马提升一个等级,带条纹的亮面烤漆,温润高端。 为什么升级更换桃木饰板?因为升级桃木饰板可以更换掉一些镀铬银色的装饰件,这样就可以让整车的豪华感大大的提升…

qt library创建和使用

1、创建library 2、修改library中的代码 3、把library进行编译,编译后会生成相关文件 4、把编译后的文件拷贝到主程序目录下面。 5、并把library中的testlib头文件拷贝到主程序,并在pro文件加入(这里在后面使用library中函数有关&#xff0…

基于LeNet实现手写体数字识别实验

目录 1 数据 1.1 数据预处理 2 模型构建 2.1 自定义算子实现 2.2 Pytorch框架实现 2.3 测试两个网络的运算速度 2.4 两个网络加载同样的权重,两个网络的输出结果是否一致? 2.5 计算模型的参数量和计算量。 3 模型训练 4 模型评价 5 模型预测 总结…

专攻数学的Prompt:使GPT-3解数学题准确率升至92.5%

专攻数学的Prompt:使GPT-3解数学题准确率升至92.5% 写在最前面示例(试过了,难点的和普通输出差不多;只能说,比简单的题目输出内容更丰富一些)MathPrompter解题示例 机理MathPrompter是怎么工作的&#xff0…

秋招算法高频算法笔试题

自己在秋招过程中遇到的算法笔试题,包含中大厂,都附解析! 汽水瓶 如果汽水瓶数目为1或者0,那么一瓶都喝不到 如果汽水瓶数目为2或者3,那么只能喝到一瓶 如果为2,喝到一瓶后手里一个瓶子都没有了&#xff…