mysql程序结构 【思维导图】

 一条SQL语句的执行过程

连接层 (1)提供连接协议:TCP/IP 、SOCKET (2)提供验证:用户、密码,IP,SOCKET (3)提供专用连接线程:接收用户SQL,返回结果 
通过以下语句可以查看到连接线程基本情况 mysql> show processlist;

 SQL层 (重点)

(1)接收上层传送的SQL语句 (2)语法验证模块:验证语句语法,是否满足SQL_MODE(SQL 语句运行的规则) (3)语义检查:判断SQL语句的类型 
DDL :数据定义语言 DCL :数据控制语言 DML :数据操作语言 DQL: 数据查询语言 .... 
(4)权限检查:用户对库表有没有权限 (5)解析器:对语句执行前,进行预处理,生成解析树(执行计划),说白了就是生成多种执行方案. (6)优化器:根据解析器得出的多种执行计划,进行判断,选择最优的执行计划  代价模型:资源(CPU IO MEM)的耗损评估性能好坏            
(7)执行器:根据最优执行计划,执行SQL语句,产生执行结果 
执行结果:在磁盘的xxxx位置上 (8)提供查询缓存(默认是没开启的),会使用redis tair替代查询缓存功能 (9)提供日志记录(日志管理章节):binlog,默认是没开启的。

存储引擎层(类似于Linux中的FS文件系统)

(1)负责根据SQL层执行的结果,从磁盘上拿数据。 (2)将16进制的磁盘数据,交由SQL结构化成表(转化成人类可读)。 (3)连接层的专用线程返回给用户。 

mysql程序结构 【思维导图】

 

 

文章来源:https://www.cnaaa.net,转载请注明出处:https://www.cnaaa.net/archives/7079

(0)
杰斯的头像杰斯
上一篇 2023年2月6日 下午5:38
下一篇 2023年2月8日 下午6:09

相关推荐

  • 网卡限速工具之WonderShaper

    1.什么是WonderShaper WonderShaper是用来对特定网卡进行快速限速的工具,它实际是对Linux的tc命令进行封装后的shell脚本,所以使用成本比tc更低,更容易上手,以下配合测速工具speedtest一起使用 2.如何安装WonderShaper 3.WonderShaper使用帮助 4.WonderShaper使用示例 4.1查看网…

    2023年10月7日
    1.4K00
  • Linux firewall防火墙 换成 iptables 防火墙

    一、firewalld 增加开放端口 重启防火墙 二、iptables 增加开放端口 如果要修改防火墙配置,如增加防火墙端口3306 增加规则 保存退出后 最后重启系统使设置生效即可。 三、将firewalld防火墙换成iptables 1、直接关闭防火墙 2、设置 iptables service 如果要修改防火墙配置,如增加防火墙端口3306 增加规则 …

    2023年8月9日
    1.3K00
  • Ubuntu防火墙使用方法

    安装防火墙 ufw防火墙开启和关闭 修改ufw防火墙规则 ufw命令使用实例

    2022年12月3日
    1.1K00
  • 麒麟系统/boot下文件全部丢失,系统无法启动

    系统异常断电,重启时发现的问题 1,无法找到系统启动的引导文件 2,通过ls (hd0,gpt1)/ 查询到引导文件所在位置 挂载系统镜像,进入系统救援模式 首先进入的是挂载镜像的根目录,不需要密码,回车可进入 输入exit 根据提示填写1,进入读写模式 重新生成系统内核 1,进入本机系统文件系统,chroot /mnt/sysroot,查看/boot下内容…

    2024年7月5日
    3.1K00
  • K8S集群搭建高可用prometheus+grafana

    使用k3s来搭建测试环境。 为什么使用k3s K3s 是一个轻量级的、完全兼容的 Kubernetes 发行版本。非常适合测试。 K3s将所有 Kubernetes 控制平面组件都封装在单个二进制文件和进程中,文件大小<100M,占用资源更小,且包含了kubernetes运行所需要的部分外部依赖和本地存储提供程序。 K3s提供了离线安装包,安装起来非常…

    2022年11月22日
    1.4K00

在线咨询: QQ交谈

邮件:712342017@qq.com

工作时间:周一至周五,8:30-17:30,节假日休息

关注微信