【编程基础知识】mysql是怎样执行一条sql语句的,涉及到哪些环节步骤是,mysql的整体体系结构是啥样的,有哪些组件
一、步骤
MySQL执行一条SQL语句的过程涉及多个环节和步骤。以下是这一过程的概述:
- 客户端连接:客户端通过连接器(Connector)向MySQL服务器发起连接请求。
- 身份验证:连接器对用户身份进行验证,确保用户有权限访问数据库。
- SQL接口:一旦连接建立,用户通过SQL接口提交SQL语句。
- 解析器:解析器(Parser)接收SQL语句并将其解析为抽象语法树(AST)。
- 预处理器:预处理器对AST进行语义分析和优化,生成查询优化后的中间表示形式。
- 优化器:优化器(Optimizer)选择最佳的执行计划,考虑索引、连接顺序等因素。
- 执行器:执行器(Executor)根据优化后的计划执行SQL语句,与存储引擎交互以检索或修改数据。
- 存储引擎:存储引擎(Storage Engine)负责数据的存储和检索,MySQL支持多种存储引擎,如InnoDB、MyISAM等。
二、组件
MySQL的整体体系结构可以分为以下几个主要组件:
- 连接器(Connector):处理客户端连接请求,验证用户身份。
- 解析器(Parser):将SQL查询语句解析为AST。
- 预处理器(Preprocessor):对AST进行语义分析和优化。
- 优化器(Optimizer):选择最佳的执行计划。
- 执行器(Executor):执行优化后的查询计划。
- 存储引擎(Storage Engine):实现数据存储和检索的核心组件,如InnoDB、MyISAM。
- 缓存和缓冲(Cache and Buffer):用于提高性能,如查询缓存、InnoDB缓冲池等。
- 事务管理器(Transaction Manager):管理数据库事务,确保数据完整性和一致性。
- 日志系统(Logging System):记录数据库操作和变更,用于数据恢复和复制。
- 配置和管理工具(Configuration and Administration Tools):用于配置和管理MySQL服务器。
MySQL体系结构包括连接层/服务层/SQL层和存储引擎层,连接层处理客户端连接请求和管理连接池.服务层提供各种服务和管理工具,如数据备份和恢复/集群安全等.SQL层处理SQL语句解析优化.存储引擎层是最底层,存储和检索数据。
相关文章:

【编程基础知识】mysql是怎样执行一条sql语句的,涉及到哪些环节步骤是,mysql的整体体系结构是啥样的,有哪些组件
一、步骤 MySQL执行一条SQL语句的过程涉及多个环节和步骤。以下是这一过程的概述: 客户端连接:客户端通过连接器(Connector)向MySQL服务器发起连接请求。身份验证:连接器对用户身份进行验证,确保用户有权…...

如何上传tauri项目到csdn gitcode
如何上传tauri项目到csdn gitcode 首先保证项目目录有.gitignore,避免不必要的文件上传分享。 gitignore文件 # Logs logs *.log npm-debug.log* yarn-debug.log* yarn-error.log* pnpm-debug.log* lerna-debug.log*node_modules dist dist-ssr *.local# Editor …...

【速成Redis】02 Redis 五大基本数据类型常用命令
前言: 上一节课,我们对redis进行了初步了解,和安装好了redis。【速成Redis】01 Redis简介及windows上如何安装redishttps://blog.csdn.net/weixin_71246590/article/details/142319358?spm1001.2014.3001.5501 该篇博客,我们正…...

UnLua扩展C++函数和蓝图自定义事件
一、通过BlueprintImplementableEvent标记扩展C函数 1、 这个标记表示C不需要实现,让蓝图/Lua重写。 2、首先在C中将LuaImp函数标记为BlueprintImplementableEvent,不需要实现,然后再GetIndex中调用该函数。 MyBaseActor.h UFUNCTION(Bluepr…...

干耳屎硬掏不出来怎么办?质量最好的可视挖耳勺推荐
很多干耳的小伙伴都会用普通耳勺来掏耳朵。由于普通耳勺由于其盲操作的特性,对于耳道非直线结构的清理存在诸多不便。所以市面上出现了可视挖耳勺,让我们清晰的看到自己耳道,更加安全的清洁耳朵。,可视挖耳勺这款产品在市场上越来…...

谷歌 Chrome 最新版升级:更强的安全检查功能守护你的上网安全
谷歌 Chrome 浏览器产品经理 Andrew Kamau 在最新发布的博文中宣布,Chrome 浏览器迎来了新一轮的安全升级。新版 Chrome 在后台自动运行安全检查功能,采取了额外的主动措施来保障用户的安全。 自动撤销通知权限 新版 Chrome 浏览器采用了一项基于谷歌安…...

深度学习自编码器 - 收缩自编码器(CAE)篇
序言 在深度学习的浪潮中,收缩自编码器( Compressive Autoencoder, CAE \text{Compressive Autoencoder, CAE} Compressive Autoencoder, CAE)作为自编码器的一种高级形式,正逐步崭露头角。收缩自编码器在保留自编码器核心功能—…...

Dubbo与SpringCloud的区别和优缺点
经常会有同学问我,Dubbo和SpringCloud的选择。甚至也经常会有面试官就这个问题刨根问底。 说实话,其实我不太喜欢回答这个问题,本质上来讲,Dubbo的SpringCloud可以算是完全不同赛道的两种东西,就好像问大家西瓜和土豆我…...

★ C++进阶篇 ★ 多态
Ciallo~(∠・ω< )⌒☆ ~ 今天,我将继续和大家一起学习C进阶篇第二章----多态 ~ ❄️❄️❄️❄️❄️❄️❄️❄️❄️❄️❄️❄️❄️❄️ 澄岚主页:椎名澄嵐-CSDN博客 C基础篇专栏:★ C基础篇 ★_椎名澄嵐的博客-CSDN博客 …...

pg入门3—详解tablespaces2
pg默认的tablespace的location为空,那么如果表设置了默认的tablespace,数据实际上是存哪个目录的呢? 在 PostgreSQL 中,如果你创建了一个表并且没有显式指定表空间(tablespace),或者表空间的 location 为…...

python 爬虫 selenium 笔记
todo 阅读并熟悉 Xpath, 这个与 Selenium 密切相关、 selenium selenium 加入无图模式,速度快很多。 from selenium import webdriver from selenium.webdriver.chrome.options import Options# selenium 无图模式,速度快很多。 option Options() o…...

git分支管理的一些常用规范
一、分支命名规范 1.通常项目经理或者需求方会给需求开发做计划,约定一些编码,例如FN-01。此时这个需求指派给你,这个时候你可以在现有代码仓库的maser分支或者其他约定的开发分支checkout到本地,命名这个需求的开发分支为feat/F…...

GPT-4论文阅读
GPT-4 Technical Report论文阅读 文章目录 GPT-4 Technical Report论文阅读 Abstract训练的稳定性Training processPredictable scaling训练的稳定性多么难能可贵 Capabilities考试成绩传统的benchmark语言方面的能力Visual inputsSteerability LimitationsRisks & mitigat…...

this 指向
this 指向谁? 多数情况下,this 指向调用它所在方法的那个对象。 说得更通俗点,谁调的函数,this 就归谁。当调用方法没有明确对象时,this 就指向全局对象。在浏览器中,指向 window;在 Node 中,指向 Global。(严格模式下,指向 undefined) this 的指向是在调用时决定的…...

【贪心算法】贪心算法一
贪心算法一 1.柠檬水找零2.将数组和减半的最少操作次数3.最大数4.摆动序列 点赞👍👍收藏🌟🌟关注💖💖 你的支持是对我最大的鼓励,我们一起努力吧!😃😃 1.柠檬水找零 题目…...

windnd.hook_dropfiles中的create_buffer值太小无法拖放长文件名
今天在使用我之前的Python识别拖放的PDF文件再转成文本文件-CSDN博客发现,文件藏在路径太深入的地方,不能打开,因为拖放文件只能读取260个字节的文件名(b’路径),再查看windnd.hook_dropfiles函数ÿ…...

Gitlab runner的使用示例(二):Maven + Docker 自动化构建与部署
Gitlab runner的使用示例(二):Maven Docker 自动化构建与部署 在本篇文章中,我们将详细解析一个典型的 GitLab CI/CD 配置文件(gitlab-ci.yml),该文件主要用于通过 Maven 构建 Java 应用&…...

QNX Hypervisor(十)Linux Guest IPC 二
上文还遗留了一个问题,就是在测试ipc的时候挂死了。相关原理我写在了另外一篇文章。 内存管理 所以导致挂死的问题就是因为没有进行地址映射,mmu无法转换。从kernel代码看,只有ram区域才会进行映射。我们的qvmconf文件也确实没有配置0xb8000000,只配置了pass。 pass loc …...

怎样把PPT上顽固的图标删了
例如: 解决: 首先打开下载好的PPT模板,然后在视图选项卡里面找到幻灯片母版。 进入幻灯片母版后,找到第一页母版页就会看到LOGO了,这时使用鼠标就可以选中删除啦。...

【论文阅读】Slim Fly: A Cost Effective Low-Diameter Network Topology 一种经济高效的小直径网络拓扑
文章目录 Slim Fly: A Cost Effective Low-Diameter Network Topology文章总结1. 摘要2. indroduction3. 主要工作 主要思想references Slim Fly: A Cost Effective Low-Diameter Network Topology Slim Fly:一种经济高效的小直径网络拓扑 SC’14 Maciej Besta 苏…...

Prometheus使用Pushgateway推送数据
Pushgateway简介 Prometheus 的 Pushgateway 是一个简单的 HTTP 服务器,它允许数据被推送到该服务器,而不是通过拉取的方式获取。它的存在是为了让临时和批处理作业能够将其指标暴露给 Prometheus。由于这类作业可能存在的时长不足以被主动抓取…...

【Oracle】调优与oracle最大连接数配置
博主介绍: 大家好,我是想成为Super的Yuperman,互联网宇宙厂经验,17年医疗健康行业的码拉松奔跑者,曾担任技术专家、架构师、研发总监负责和主导多个应用架构。 技术范围: 目前专注java体系,DDD&…...

Unity教程(十六)敌人攻击状态的实现
Unity开发2D类银河恶魔城游戏学习笔记 Unity教程(零)Unity和VS的使用相关内容 Unity教程(一)开始学习状态机 Unity教程(二)角色移动的实现 Unity教程(三)角色跳跃的实现 Unity教程&…...

图像超分辨率(ISR)
图像超分辨率(Image Super-Resolution, ISR)是一种图像处理技术,旨在通过软件算法从低分辨率的图像中重建出高分辨率的图像。这种技术对于改善图像质量、增加细节清晰度等方面非常重要,特别是在图像放大、卫星成像、医学成像和视频…...

园区网基础组网保姆级(mstp,vrrp,irf,eth-trunk,route-policy,ospf,bgp,rbm,nat,mlag等等)
本文实验使用模拟器:H3C HCL 5.10.2版本 一、园区核心/接入架构1.1.三层架构1.2.二层架构二、园区核心 To 接入实践2.1.MSTP+VRRP派系2.1.1.MSTP+VRRP配置2.1.2.MSTP+VRRP验证2.2.IRF+Eth-Trunk派系2.2.1.IRF+Eth-Trunk配置2.3.两种派系的对比2.4.VXLAN结构三、园区核心/出口架…...

大数据技术原理与应用
第一章、大数据概述 1、大数据时代的特征,并结合生活实例谈谈带来的影响。 (一)特征 1、Volume 规模性:数据量大。 2、Velocity高速性:处理速度快。数据的生成和响应快 摩尔定律:每两年,数…...

《黑神话悟空》开发框架与战斗系统解析
本文主要围绕《黑神话悟空》的开发框架与战斗系统解析展开 主要内容 《黑神话悟空》采用的技术栈 《黑神话悟空》战斗系统的实现方式 四种攻击模式 连招系统的创建 如何实现高扩展性的战斗系统 包括角色属性系统、技能配置文件和逻辑节点的抽象等关键技术点 版权声明 本…...

网络资源模板--Android Studio 通讯录App
目录 一、项目演示 二、项目测试环境 三、项目详情 四、完整的项目源码 一、项目演示 网络资源模板--基于Android studio 通讯录 二、项目测试环境 三、项目详情 首页 MainActivity 类是一个 Android 地址簿应用的核心部分,负责管理联系人列表的显示、搜索和添…...

Spring 出现 No qualifying bean of type ‘com.xxx‘ available 解决方法
目录 1. 问题所示2. 原理分析3. 解决方法4. 彩蛋4.1 bug彩蛋4.2 完整Demo4.3 补充Springboot1. 问题所示 出现如下问题: 19:58:23.476 [main] DEBUG org.springframework.beans.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean o…...

C# 批量更改文件后缀名称
解决问题思路 解决固定文件夹下更改文件后缀名,采用轮询的方式, 流程如下: 获取当前文件名(带后缀的文件名)截取文件名称,去掉后缀另存为带更改后的后缀文件 注意:采用第三方插件࿰…...