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

相关推荐

  • 如何处理CentOS Failed to load SELinux policy

    CentOS 7在启动时,卡在进度条界面一直进不去系统,如下图所示: 我们可以通过按键盘的左右方向键,可以看到提示“Failed to load SELinux policy.”,这就是造成系统一直卡住无法正常启动的原因。 原因 是因为没有正确修改系统的selinux的配置,导致系统在启动时报selinux的错误 解决方案 第一步:先重启CentOS7操作系…

    2022年6月15日
    1.6K00
  • HBase 详细图文介绍

    一、HBase 定义 Apache HBase™ 是 以 hdfs 为数据存储的 ,一种分布式、可扩展的 NoSQL 数据库。 二、HBase 数据模型 HBase 的设计理念依据 Google 的 BigTable 论文,论文中对于数据模型的首句介绍 。Bigtable 是一个稀疏的 、 分布式的 、 持久的多维排序 map 。之后对于映射的解释如下:该映…

    2023年12月15日
    92000
  • 在 Linux 中检查文件大小的 4 种方法

    在 Linux 操作系统中,经常需要检查文件的大小。无论是管理文件系统空间,还是确定文件传输的大小限制,了解文件大小是非常重要的。本文将介绍 4 种常用的方法,帮助你在 Linux 中检查文件的大小。 方法一:使用 ls 命令ls 命令是 Linux 中最常用的文件和目录列表命令之一。它可以显示文件的各种属性,包括文件大小。使用 ls 命令检查文件大小的方法…

    2024年5月23日
    77000
  • IPMItool 控制风扇转速

    近期由于需要测试dell服务器,风扇声音非常的大,通过IPMI页面发现不能设置风扇的转速,所以使用通过IPMItool工具来进行控制 首先进入服务器,安装IPMItool工具 apt install ipmitool 验证是否能够使用 如果不在本机服务器上操作,需要从其他机器上操作,需要勾选IPMI设置,允许通过lan进行操作 获取风扇的速度 首先你要输入下…

    2024年4月12日
    1.7K00
  • 在Linux中执行yum命令失败,提示“HTTP Error 404 -Not Found Trying other mirror”错误怎么办?

    问题描述 在Linux系统的ECS实例中执行yum命令(如yum -y install XXX、yum list、yum search XXX等)失败,出现类似如下错误信息。 问题原因 出现该问题可能有以下原因: 解决方案 切换CentOS 6/8的源地址 CentOS 6与CentOS 8操作系统版本结束了生命周期(EOL),Linux社区已不再维护该操作…

    2023年11月28日
    87000

在线咨询: QQ交谈

邮件:712342017@qq.com

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

关注微信