MySQL架构
目录 MySQL架构 一、MySQL架构 二、连接器 三、查询缓存 四、分析器 五、优化器 MySQL架构 一、MySQL架构 连接器——管理连接、权限认证 分析器——词法分析、语法分析(AST)抽象语法树 优化器——执行计划、索引选择 执行器——操作引擎、返回结果 存储引擎——存储数据,提供读写接口 8.0版本之后,舍弃了查询缓存功能 二、连接器 连接器负责跟客户端建立连接,以获得权限、维持和管理连接 用户名密码验证 查询权限信息、分配对应权限 可以使用show processlist查看现在连接 如果太长时间没有动静,就会自动断开,通过wait_timeout控制,默认8小时 连接分类: 长连接:建议 短连接 三、查询缓存 查询语句的时候,先去查询缓存查看结果,8.0后没有这个组件 不推荐理由: 查询缓存失效比较频繁,只要表更新,缓存就会清空 缓存对应更新数据命中率比较低 四、分析器 词法分析:MySQL需要把输入字符串进行识别 语法分析:根据语法规则判断SQL是否满足mysql的语法,如果不符合就会报错“You have an error in your SQL synta” 五、优化器 在具体执行SQL语句之前要经过优化器进行处理 当表中有多个索引,决定使用哪个索引 当需要多表关联,决定表的连接顺序...等 不同的执行方式对SQL语句执行效率影响很大 CBO(Cost