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

八股-Mysql 基础篇(1)

1. 执行一条SQL 查询语句,其中到底发生了什么?

1.1 Mysql的架构图

Mysql的架构主要分为两层,一层是Server层,另一层是存储引擎层

(1)Server层:主要负责建立连接、分析和执行sql语句。一般数据库的核心模块都在这里进行实现,包括连接器、查询缓存、解析器、预处理器、优化器和执行器。

(2)存储引擎层:主要负责数据的存储和提取。支持三种存储引擎,共用一个Server层,一般说的索引结构就是在存储引擎层实现的。

1.2 第一步 连接器

(1)与客户端通过TCP三次握手建立连接;

(2)校验用户名和密码,如果正确则赋予适当的权限;

Other:

Mysql的长连接和短连接:Mysql也有长连接和短连接的区别,长连接能够避免连接的频繁建立和断开,但是长连接建立会导致内存占用增多。因为Mysql使用内存管理连接对象,这些连接的对象只有在连接断开时才会进行释放。长连接如果累积过多的话,会导致资源受限无法及时释放。

1.3 第二步 查询缓存

建立连接之后,客户端向Mysql服务发送Sql语句,如果是查询语句,则其先会去查询缓存(Query Cache)中查找缓存数据,如果有的话直接返回,如果没有的话则继续下去执行。

在Mysql中将Server中的查询缓存进行移除,由于相对比较鸡肋

1.4 第三步 解析SQL

在正式执行语句的时候,Mysql中的解析器会对SQL语句进行解析。

(1)词法分析:根据输入的字符串识别出关键字和非关键字来

(2)语法分析:根据词法分析的结果,语法解析器根据语法规则判断是否合法并构建对应的SQL语法树

1.5 第四步 执行SQL

select 执行过程可以大致分为三个阶段,

(1)预处理阶段

        1> 检查查询语句中的表或字段是否存在

        2> 将 select中的 * 扩展为所有列 

(2)优化阶段

        1> 该阶段主要是确定好该查询语句的执行计划

(3)执行阶段

        1> 根据查询计划进行执行,从存储引擎读取记录并返回给客户端


参考:

https://xiaolincoding.com/mysql/base/how_select.html#%E6%89%A7%E8%A1%8C%E5%99%A8

http://www.dtcms.com/a/577377.html

相关文章:

  • 建设公司网站需要准备什么科目苏州建网站的公司
  • Git 某个分支恢复到某个特定的 commit 状态
  • 【Prompt学习技能树地图】生成知识提示技术的深度解析与应用
  • 家用电脑怎么做网站服务器创意设计之都
  • 使用 Spire.XLS for Python 将 Excel 转换为 PDF
  • vue3封装el-dialog
  • 河南郑州网站顾问大连建设工程信息网官网入口
  • 记录一次K8S跨命名空间访问 xxx.xxx.svc.cluster.local 类似内部服务不通的问题
  • Go Slice 实现原理深度解析:从底层机制到工程实践
  • 网站开发需要什么基础只是怎么下载文件
  • Centos 7安装Apache Drill
  • AI与电力的深度绑定:算力与能源分配的趋势分析
  • 【轨物洞见】 新型能源体系建设:十五五规划建议推进能源转型
  • 第四代核反应堆:未来能源的“安全高效革命”
  • HarmonyOS实战项目:打造沉浸式AR导航应用(空间计算与虚实融合)
  • 建行信用卡网站官网入口2022好用值得推荐的搜索引擎
  • 多模态化学信息重建系统CIRS-图像处理单元复现源码:从化学结构图像到图形化基元的转化
  • 评估工程正成为下一轮 Agent 演进的重点
  • 易营宝智能建站做网站类型
  • CTFHub Web进阶-PHP:Bypass_disable_function通关5之GC UAF
  • Jmeter+Maven+jenkins+eclipse 搭建自动化测试平台
  • Cursor 2.0:让 AI 编码更快、更协同的全新平台
  • 兰州网站建设推荐q479185700顶你本地视频做成链接网址
  • Flutter for HarmonyOS 开发指南(一):环境搭建与项目创建
  • Flutter 如何使用fvm进行多项目sdk管理
  • 【Git】-- Rebase 减少 Commit 次数指南
  • 北京网站设计培训学校cn 域名网站
  • 广州广州网站建设公司阿里云网站模板
  • SpringBoot教程(三十二)| SpringBoot集成Sentinel
  • RAGFlow与Dify知识库:对比选型与技术落地解析