Dawn's Blogs

分享技术 记录成长

0%

MySQL高级-2-逻辑架构

逻辑架构

概述

MySQL逻辑架构分为3层

  • 连接层
    • Connection Pool:提供多个与客户端进行连接的线程
  • 服务层
    • SQL Interface:接收SQL命令,返回查询结果
    • Parser:对SQL语句进行语法解析、语义解析,生成语法树
    • Optimizer:对解析结果进行优化,生成一个执行计划
    • Caches & Buffers:查询缓存,以key-value的方式缓存查询语句和结构
  • 引擎层
    • Storage Engines:负责MySQL中数据的存储和提取,与底层文件系统进行交互

1644303206142

SQL请求流程

SQL请求流程如下:

  1. SQL接口接收客户端发来的SQL请求
  2. 查询缓存:如果在在缓存中发现了这条SQL语句,直接返回结果。因为缓存的是SQL语句而不是执行计划,所以命中率很低
  3. 解析器进行语法解析、语义解析,生成语法树
  4. 优化器对解析结果进行优化
  5. 调用存储引擎,与底层文件系统进行交互
  6. 以key-value的方式对查询语句及其结果进行缓存
  7. 通过SQL接口返回查询结果

1644303234887