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

执行一条select语句期间发生了什么?

首先是连接器的工作,嗯,与客户端进行TCP三次握手建立连接,校验客户端的用户名和密码,如果用户名和密码都对了,那么就会检查该用户的权限,之后执行的所有SQL语句都是基于该权限

接着客户端就可以向数据库发送查询语句,首先数据库会先查询缓存,这是在server层发生的,但是MySQL 8.0以后已经删除了这个步骤

第三步是解析sql,这一步是解析器做的,他会检查我们的SQL语句有没有错误,并且构建出语法树

第四步是执行sql,执行sql分为三个步骤,一是预处理阶段,预处理阶段,由预处理器来完成,他负责,查询字段存不存在,以及将select *中的*展开为表中的每一列,二是优化阶段,由优化器来完成,它负责根据查询成本确定一个最终的查询方案,三是执行阶段,由执行器完成,根据计划执行sql语句从存储引擎读取记录并返回给客户端。

家人们,,心乱乱的,这就是二十岁吗

 

 

http://www.xdnf.cn/news/19723.html

相关文章:

  • 常用符号 Emoji 对照表——Unicode UTF-8
  • CSS Sass Less 样式.xxx讲解
  • SpringMVC的请求接收与结果响应
  • 华为HCIE数通含金量所剩无几?考试难度加大?
  • 数据库选择有讲究?SQLite、PostgreSQL还是MySQL?
  • 电脑接入企业中的网线,为啥网卡上面显示AD域名
  • MongoDB 聚合查询超时:索引优化与分片策略的踩坑记录
  • 国产CAD皇冠CAD(CrownCAD)建模教程:汽车驱动桥
  • 二、Scala流程控制:分支与循环
  • 波浪模型SWAN学习(2)——波浪浅化模拟(Shoaling on sloping beach)
  • RoPE频率缩放机制:解密大语言模型上下文扩展的核心算法
  • linux之IO存储子系统全流程分析
  • 差分隐私在运营指标:ABP 的 DP 计数器与噪声预算
  • 使用PyTorch构建全连接神经网络实现MNIST手写数字分类
  • 【面试题】 如何处理中文分词?
  • LeetCode 2486.追加字符以获得子序列
  • ubuntu的2T新硬盘分区、格式化并挂载
  • Python进阶第三方库之Numpy
  • GO : cannot find module
  • 【音视频】 RGB 格式详解
  • 1.Linux:命令提示符,history和常用快捷键
  • 程序员之电工基础-初尝线扫相机
  • 百度发布Comate AI IDE,我要把Cursor卸载了!
  • AI生成PPT工具排名:2025年高效办公新选择
  • 【项目】分布式Json-RPC框架 - 应用层实现
  • Docker 安装 RAGFlow保姆教程
  • 【大前端】React 使用 Redux 实现组件通信的 Demo 示例
  • Vue 评论组件设计 V1.0
  • JVM 的 C1/C2 编译器
  • AI在金融、医疗、教育、制造业等领域的落地案例(含代码、流程图、Prompt示例与图表)