一、MySQL基础

一、MySQL基础

1. 执行一条SQL查询语句,期间发生了什么?

  • 连接器:建立连接,管理连接,校验用户身份
  • 查询缓存:查询语句如果命中查询缓存,则时间返回,否则继续往下执行
  • 解析SQL,通过解析器对SQL查询语句进行词法、语法分析,然后构建语法树,方便后续的模块读取表名、字段、语句类型
  • 执行SQL,分为三个阶段
    • 预处理阶段:检查表字段是否存在;将select *中的*符号扩展为表上的所有列
    • 优化阶段:基于查询成本的考虑,选择查询成本最小的执行计划
    • 执行阶段:根据执行计划执行SQL查询语句,从存储引擎读取记录,返回给客户端

image-20221208144815255

2. MySQL一行记录是怎么存储的

2.1 MySQL的数据存放在哪个文件?

MySQL的数据都是保存在磁盘的,可以通过下面这个命令来查看mysql的存储路径

1
2
3
4
5
6
7
mysql> SHOW VARIABLES LIKE 'datadir';
+---------------+-----------------+
| Variable_name | Value |
+---------------+-----------------+
| datadir | /var/lib/mysql/ |
+---------------+-----------------+
1 row in set (0.00 sec)

每创建一个database,都会在/var/lib/mysql/目录里创建一个database为名的目录,然后保存表结构和标数据的文件都会存放在这个目录里


一、MySQL基础
http://example.com/2022/12/08/develop/mysql/一、MySQL基础/
作者
Curious;
发布于
2022年12月8日
许可协议