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

相关推荐

  • ansible 用普通用户sudo 执行命令

    背景: linux 机器都禁止root用户远程直接登录,需要ansible切换用户来实现 配置 /etc/ansible/hosts [test] 192.168.55.65 ansible_ssh_user=vmuser ansible_ssh_pass=’112233′ ansible_become_pass=’778899′ 192.168.55.66…

    Linux系统 2023年2月6日
    1.4K00
  • CentOS 6 yum安装软件报错 YumRepo Error

    在CentOS 6的机器上使用yum 安装软件报错: 使用yum update命令也是一样: 看错误提示,似乎是说找不到有效的baseurl。所以要解决这个问题,还要从baseurl着手。从官方邮件可知,CentOS 6自从2020年11月30日开始,官方不再维护,所以连带着原来的yum存储库也不能用了。 但是邮件里说得很明白,它给出了迁移后的存储库的链接地…

    2023年5月25日
    1.0K00
  • nginx快速部署一个网站服务 + 多域名 + 多端口

    一、nginx虚拟主机,部署网站 都是在同一台服务器上部署 二、部署单域名/IP网站服务 1、创建一个普通用户,用户管理nginx网站服务 2、修改nginx主配置文件 3、创建虚拟主机nignx子配置文件 只需要写server{}标签即可。 上面配置文件中配置了index.html的地址,这里可以看到是没有的,我们创建一下; 4、测试nginx配置文件语法…

    2023年12月25日
    1.3K00
  • SonarQube支持Gitlab授权登录

    背景 部署好SonarQube之后,由于我们内部使用的是自建的Gitlab仓库,即每个开发同学都有Gitlab账号,SonarQube我们就可以使用上Gitlab登录,这样就不需要再维护一套用户体系了。 环境: SonarQube8.9.2 社区版 GitLab Enterprise Edition 11.10.4-ee 具体配置: Gitlab 配置: 在…

    2023年1月20日
    1.5K00
  • 在 Linux 上保护 SSH 服务器连接的 8 种方法!

    SSH 是一种广泛使用的协议,用于安全地访问 Linux 服务器。大多数用户使用默认设置的 SSH 连接来连接到远程服务器。但是,不安全的默认配置也会带来各种安全风险。 具有开放 SSH 访问权限的服务器的 root 帐户可能存在风险。尤其是如果你使用的是公共 IP 地址,则破解 root 密码要容易得多。因此,有必要了解 SSH 安全性。 这是在 Linu…

    2023年4月24日
    97100

在线咨询: QQ交谈

邮件:712342017@qq.com

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

关注微信