image.png
    分层架构
    管道-过滤器架构
    微内核架构

    SQL执行的过程
    连接器
    建立连接
    发送验证
    退出连接
    查询缓存
    之前执行过的语句会KV的形式缓存在内存中
    查询之前先查找之前执行过的相同语句
    不推荐使用缓存:数据表修改后,会删除所有相关缓存
    MySQL8.0以后缓存功能已经停用
    分析器
    分析器的作用是知道你要“干什么”
    先做词法分析,识别SQL语句中的关键字
    再做句法分析,判断SQL语句是否符合语法
    优化器
    优化器的作用是要知道“怎么做”
    优化器的主要工作是决定如何使用索引
    执行器
    执行器的主要工作是校验权限、调用存储引擎
    执行器首先校验此用户对目标数据有无权限
    执行器会以行为粒度,调用存储引擎,
    执行SQL在没有索引的情况下,执行器会循环查询所有行
    存储引擎
    存储引擎的任务是将执行器的指令落实在数据文件上
    不同存储引擎的原理和执行方法有很大不同