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

【MySQL学习】关于MySql语句执行、查询、更新流程原理总结

面试官:说说MySql语句执行、查询、更新流程
一、执行流程

  1. 连接:客户端连服务器,验证身份和权限。
  2. 解析: 拆分SQL(词法分析)→ 检查语法(语法分析)→ 验证表/列是否存在(语义检查)
  3. 优化:决定是否用索引、如何连接表(生成执行计划)
  4. 执行:调用存储引擎(如InnoDB)操作数据:
    查询:读数据 → 返回结果。
    更新:改数据 → 记日志(redo log、undo log)→ 加锁 → 提交事务。
  5. 返回: 查询结果经处理(如排序)后返回客户端。
    二、查询流程
  6. 客户端发查询请求。
  7. 解析SQL,优化器选索引(或全表扫描)。
  8. 存储引擎读数据,返回结果(可能过滤、排序)。
    三、更新流程(INSERT/UPDATE/DELETE)
  9. 客户端发更新请求。
  10. 解析SQL,优化器选执行方式(如用主键索引)。
  11. 关键步骤:
    记录undo log(回滚用)。
    记录redo log(prepare状态)。
    写binlog(复制和恢复)。
    提交事务(redo log改为commit`)。
  12. 返回操作结果(如影响行数)。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

相关文章:

  • C++语法深度剖析与面试核心详解
  • 【Tomcat】基础总结:类加载机制
  • 127、【OS】【Nuttx】【周边】效果呈现方案解析:比较浮点数(上)
  • 计网协议簇具体协议
  • 电路分析基础笔记
  • 【JVM 常用工具命令大全】
  • 从iload_1 iload_2 iadd字节码角度看jvm字节码执行
  • openssl 启用AES NI加速对AES加密性能影响的测试
  • LeetCode:32.随机链表的复制
  • 基于SpringBoot+Vue的旅游系统【协同过滤推荐算法+可视化统计】
  • 前端实现一个星空特效的效果(实战+讲解)
  • 【嵌入式】【科普】软件模块设计简介
  • 【ROS2】ROS2通讯机制Topic常用命令行
  • 欧姆龙NJ系列PLC编程标准化案例
  • 【OpenGL】LearnOpenGL学习笔记25 - 法线贴图 NormalMap
  • UE5 基础应用 —— 09 - 行为树 简单使用
  • 客户端实现信道管理
  • 异常解决记录 | Yarn NodeManager 注册异常
  • 【C#】C# 调用 Python 脚本正确姿势:解决 WaitForExit 死锁与退出检测问题
  • Java25新特性
  • 卷积神经网络CNN-part9-DenseNet
  • 深入浅出密码学第一章课后题(持续更新)
  • Mysql 入门概览
  • 大模型中权重共享的作用?
  • 【精品资料鉴赏】55页可编辑PPT详解 数字化高校智慧后勤解决方案
  • LLM大模型 - 实战篇 - AI Agents的开发应用
  • 【分布式技术】RedisShake相关功能详细介绍
  • qsv:一款高性能的CSV数据处理工具
  • `html` 将视频作为背景
  • 口播提词器怎么选?手机提词器实测指南与参数推荐