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

Mysql——Sql的执行过程

目录

    • 一、Sql的执行过程流程图解
    • 二、Sql的执行过程流程
      • 1.2.1、建立连接
      • 1.2.2、服务层(缓存、解析器、预处理器、优化器、执行器)
        • 1.2.2.1、缓存
        • 1.2.2.2、解析器
        • 1.2.2.3、预处理器
        • 1.2.2.4、优化器
        • 1.2.2.5、执行器
      • 1.2.3、引擎层

一、Sql的执行过程流程图解

  • Sql的执行过程

    在这里插入图片描述

二、Sql的执行过程流程

1.2.1、建立连接

  • 当客户端执行一条sql,跟远程数据库建立连接,并验证用户名及密码,如果验证通过,执行到MySql的服务层;

1.2.2、服务层(缓存、解析器、预处理器、优化器、执行器)

1.2.2.1、缓存
  • MySql的服务层通过缓存来进行查询,缓存中的数据是以key、value方式进行存储(key就是当前的SQL语句,alue就是对应的数据)
  • 注:在MySql5.7之后,缓存默认已经不开启,并且在MySql8之后就完全弃用掉,因为通常存在缓存当中的数据是一些不太会变的数据,但是在数据库当中的数据通常都是变化比较多的,导致缓存没办法命中,从而使这一块的逻辑性能浪费掉了。所以MySql把缓存交给了应用层,数据库层不做缓存处理。
1.2.2.2、解析器
  • 如果没有缓存,会经过解析器,解析器主要解析sql语句的语法是都正确;
1.2.2.3、预处理器
http://www.lryc.cn/news/617889.html

相关文章:

  • 从 0 到 1:用 MyCat 打造可水平扩展的 MySQL 分库分表架构
  • Linux-常用命令
  • 深入解析 resolv.conf 文件:DNS 配置的核心
  • 驱动_ConfigFS多级目录操作
  • 光功率dBm为何是负数?一文详解
  • Google OAuth 配置步骤指南,实现Google Drive文件同步功能。
  • UVM验证—UVM 简述
  • 快速了解TF-IDF算法
  • 逐际动力开源运控 tron1-rl-isaacgym 解读与改进
  • 自由学习记录(81)
  • 5B 参数,消费级显卡可部署:Wan2.2-TI2V-5B 本地部署教程,9分钟跑出电影级大片!
  • 【运维进阶】WEB 服务器
  • GB17761-2024标准与电动自行车防火安全的技术革新
  • Redis 数据结构及特点
  • 【工作笔记】Wrappers.lambdaQuery()用法
  • ROS2学习(1)—基础概念及环境搭建
  • JavaEE 初阶第十七期:文件 IO 的 “管道艺术”(下)
  • vscode新建esp32工程,没有sample_project怎么办?
  • 计算机网络:ovn数据通信都是用了哪些协议?
  • 应用层模拟面试题
  • C语言(06)——二、八、十、十六进制的相互转换
  • Effective C++ 条款35:考虑 virtual函数以外的其他选择
  • 【已解决】报错:WARNING: pip is configured with locations that require TLS/SSL
  • HarmonyOS 开发入门 第一章
  • 一文读懂 C# 中的 Lazy<T>
  • Python 在自动化办公汇总和脚本示例
  • 本地文件夹与 GitHub 远程仓库绑定并进行日常操作的完整命令流程
  • 【基本有序数组中找到有且仅有的一个无序元素并进行排序之顺序法】2022-10-12
  • Linux线程——线程控制及理解
  • Transformer前传:Seq2Seq与注意力机制Attention