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

相关推荐

  • 关于磁盘IO的那些事

    关于磁盘IO的那些事 一、背景 需要把生产上一份clickhouse的备份数据到测试环境上,心想也就59G 的大小,应该很快吧,殊不知压缩就搞了3个多小时,于是好奇看下磁盘IO的一些参数,分享给大家学习参考 在分析存储性能之前,需要先了解存储性能定义的三个核心指标:IOPS、Throughput、await 指标 说明 IOPS 每秒进行的IO操作次数 Th…

    2023年4月11日
    1.1K00
  • CentOS7系统开机报错:you might want to save “/run/initramfs/rdsosreport.txt“ to a USB stick or /boot…

    一、报错场景我遇到的场景是Centos7强制下电,开机后报错,报错的大致意思是系统文件出现错误 具体报错如下 you might want to save “/run/initramfs/rdsosreport.txt“ to a USB stick or /boot after mounting them and attach it to a bug re…

    2023年10月16日
    1.6K00
  • Linux显示磁盘空间不足,/tmp文件夹占用100%问题分析和解决方案

    系统运行过程中发现无法上传文件,第一反应是磁盘空间不足导致,登录服务器后查看文件存放的空间充足,但是无法上传文件且命令行的tab键自动补充也提示空间不足。最后经过搜索和分析发现是/tmp 文件夹占用100%导致。以下记录分析和解决流程。 问题分析         服务器环境        …

    2023年12月22日
    2.3K00
  • GLIBC修复笔记,学会这些让你更快的解决系统问题

    公司环境有台机器硬盘故障,需要安装Megacli工具进系统查看raid信息,在Ubuntu20.04安装Megacli解决依赖过程中失误将高版本的libtinfo包装系统上了,导致系统报Glibc对应的版本没有找到,系统实际Glibc的版本是2.31。 背景 公司环境有台机器硬盘故障,需要安装megacli工具进系统查看raid信息,在ubuntu20.04…

    2023年12月7日
    1.2K00
  • apache 设置ssl证书

    安装模块 安装mod_ssl和openssl 创建密钥存放的目录 上传证书和密钥到/etc/httpd/ssl目录下 验证证书和密钥的MD5 编辑配置文件 修改ssl.conf文件 打开ssl模块功能 在 /etc/httpd/conf.modules.d 目录下的 00-ssl.conf 配置文件找到 LoadModule ssl_module modul…

    2022年11月29日
    1.1K00

在线咨询: QQ交谈

邮件:712342017@qq.com

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

关注微信