MySQL(1)基础篇

embedded/2025/2/21 8:08:19/

执行一条 select 语句,期间发生了什么? | 小林coding

目录

1、连接MySQL服务器

2、查询缓存

3、解析SQL语句

4、执行SQL语句

5、MySQL一行记录的存储结构


  • Server 层负责建立连接、分析和执行 SQL
  • 存储引擎层负责数据的存储和提取。支持InnoDB、MyISAM、Memory 等多个存储引擎,不同的存储引擎共用一个 Server 层。最常用的存储引擎是 InnoDB,我们常说的索引数据结构,就是由存储引擎层实现的,不同的存储引擎支持的索引类型也不相同,比如InnoDB 支持索引类型是 B+树

1、连接MySQL服务器

2、查询缓存

3、解析SQL语句

在正式执行 SQL 查询语句之前, MySQL 会先对 SQL语句做解析,这个工作交由「解析器」来完成。

如果我们输入的 SQL语句语法不对,就会在解析器这个阶段报错。比如,查询语句把 from写成了 form,这时 MySQL 解析器就会给报错。但是注意,表不存在或者字段不存在,并不是在解析器里做的。

4、执行SQL语句

5、MySQL一行记录的存储结构

MySQL 存储的行为是由存储引擎实现的,MySQL支持多种存储引擎,不同的存储引擎保存文件的方式自然也不同。InnoDB 是我们常用的存储引擎,也是 MySQL默认的存储引擎。所以,本文主要以 InnoDB 存储引擎展开讨论。

数据库表中的记录都是按行(row)进行存放的,每行记录根据不同的行格式,有不同的存储结构。记录是按照行来存储的,但是数据库的读取并不以「行」为单位,否则一次读取(一次 I/O 操作)只能处理一行数据,效率会非常低。因此,InnoDB 的数据是按「页」为单位来读写的,也就是说,当需要读一条记录的时候,并不是将这个行记录从磁盘读出来,而是以页为单位,将其整体读入内存。默认每个页的大小为 16KB,也就是最多能保证 16KB 的连续存储空间。页是 InnoDB 存储引擎磁盘管理的最小单元,意味着数据库每次读写都是以 16KB 为单位的,一次最少从磁盘中读取 16K 的内容到内存中,一次最少把内存中的 16K 内容刷新到磁盘中。


http://www.ppmy.cn/embedded/164021.html

相关文章

前端编程基础开发规范

文章目录 项目创建目录结构 命名规范文件命名通用规则不同类型文件命名: 代码命名规范通用规范 代码规范HTML代码规范标签闭合标签语义化标签嵌套规则属性引号布尔属性注释规范避免内联样式和脚本减少不必要的标签和属性 CSS代码规范注释代码格式化 选择器规范1. 命…

代码随想录算法训练day59---图论系列4

代码随想录算法训练 —day59 文章目录 代码随想录算法训练前言一、110.字符串接龙二、105.有向图的完全可达性dfs版本1dfs版本2bfs版本 三、100. 岛屿的最大面积方法一方法二 总结 前言 今天是算法营的第59天,希望自己能够坚持下来! 今天继续图论part&…

《95015网络安全应急响应分析报告(2024)》

2025年2月,95015服务平台发布了最新一期的《95015网络安全应急响应分析报告(2024)》。报告分别从整体形势、受害者特征、攻击者特征等方面,对2024年95015平台接报的739起网络安全应急响应事件展开分析,并给出了7个年度…

DeepSeek在linux下的安装部署与应用测试

结合上一篇文章,本篇文章主要讲述在Redhat linux环境下如何部署和使用DeepSeek大模型,主要包括ollama的安装配置、大模型的加载和应用测试。关于Open WebUI在docker的安装部署,Open WebUI官网也提供了完整的docker部署说明,大家可…

深度学习-123-综述之AI人工智能与DL深度学习简史1956到2024

文章目录 1 AI与深度学习的简史1.1 人工智能的诞生(1956)1.2 早期人工神经网络(1940-1960年代)1.3 多层感知器MLP(1960年代)1.4 反向传播(1970-1980年代)1.5 第二次黑暗时代(1990-2000年代)1.6 深度学习的复兴(21世纪末至今)1.6.1 CNN卷积神经网络(1980-2010)1.6.2 RNN递归神经…

使用verilog 实现 cordic 算法 ----- 旋转模式

1-设计流程 ● 了解cordic 算法原理,公式,模式,伸缩因子,旋转方向等,推荐以下链接视频了解 cordic 算法。哔哩哔哩-cordic算法原理讲解 ● 用matlab 或者 c 实现一遍算法 ● 在FPGA中用 verilog 实现,注意…

HTML元素

HTML文档是由各种各样功能的元素标签构成的,接下来这些元素可能你没有见过,不要担心,后面会逐一介绍它们,这里作为一个组略的了解,除了上一节我们介绍的span,h1,p标签外,HTML还有很多…

Java开发实习面试笔试题(含答案)

在广州一家中大公司面试(BOSS标注是1000-9999人,薪资2-3k),招聘上写着Java开发,基本没有标注前端要求,但是到场知道是前后端分离人不分离。开始先让你做笔试(12道问答4道SQL题)&…