当前位置:网站首页>【宋红康 MySQL数据库 】【高级篇】【06】MySQL的逻辑架构

【宋红康 MySQL数据库 】【高级篇】【06】MySQL的逻辑架构

2022-06-22 07:38:00 lpruoyu


持续学习&持续更新中…

学习态度:守破离


逻辑架构剖析

服务器处理客户端请求

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

Connectors

在这里插入图片描述

第一层 连接层

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

第二层 服务层

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

PS:查询缓存组件使用SQL语句作为key,查询结果作为value;命中率很低,很鸡肋。

第三层 引擎层

mysql> show engines;

在这里插入图片描述

在这里插入图片描述

存储层

在这里插入图片描述

小结

在这里插入图片描述

在这里插入图片描述

SQL执行流程

在这里插入图片描述

MySQL中的SQL执行流程

在这里插入图片描述

1. 查询缓存

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

推荐做法:(注意:MySQL8.0不可以使用查询缓存)

在这里插入图片描述

不使用查询缓存:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

2. 解析器

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

3. 优化器

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

4. 执行器

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

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

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

总结

  • 查询缓存
  • 解析器:词法分析、语法分析、语义检查 ——> 解析树
  • 优化器:逻辑优化、物理优化 ——> 执行计划
  • 执行器:调用存储引擎API执行

MySQL8.0中SQL执行原理

在这里插入图片描述

1. 确认profiling是否开启

在这里插入图片描述

在这里插入图片描述

2. 多次执行相同SQL查询

在这里插入图片描述

3. 执行profiles

在这里插入图片描述

4. 查看profile

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

MySQL5.7中SQL执行原理

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

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

在这里插入图片描述

SQL语法顺序

在这里插入图片描述

在这里插入图片描述

数据库缓冲池

在这里插入图片描述

缓冲池 vs 查询缓存

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

缓冲池如何读取数据

在这里插入图片描述

在这里插入图片描述

查看/设置缓存池的大小

在这里插入图片描述

在这里插入图片描述

多个Buffer cache实例

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

引申问题

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

参考

尚硅谷宋红康: MySQL数据库(入门到高级,菜鸟到大牛).


本文完,感谢您的关注支持!


原网站

版权声明
本文为[lpruoyu]所创,转载请带上原文链接,感谢
https://blog.csdn.net/weixin_44018671/article/details/125389149