InnoDB存储引擎核心

模块二:InnoDB 存储引擎核心 一、InnoDB 整体架构 InnoDB 是 MySQL 默认存储引擎(8.0+)。 核心能力: 事务支持 行级锁 MVCC 崩溃恢复 外键支持 逻辑结构: Buffer Pool(内存层) Redo Log Undo Log 表空间 B+树索引 二、记录结构(Row Format) InnoDB 支持的行格式: Compact(默认) Dynamic Compressed Redundant(已淘汰) 查看表行格式: 1 SHOW TABLE STATUS LIKE 'table_name'; 记录结构组成 每条记录包含: 变长字段长度列表 NULL值列表 记录头信息 列数据 隐藏字段: DB_TRX_ID(事务ID) DB_ROLL_PTR(回滚指针) DB_ROW_ID(隐藏主键) 三、数据页结构(Page Structure) InnoDB 以"页"为基本单位管理数据。 默认页大小: 16KB 页结构组成: File Header Page Header Infimum + Supremum User Records Free Space Page Directory File Trailer 核心理解: ...

January 2, 2026 · 1 min · 170 words

MySQL基础架构与运行机制

模块一:MySQL 基础架构与运行机制 一、客户端 / 服务器模型 MySQL 采用典型的 C/S 架构: 客户端 → 连接层 → 服务层 → 存储引擎层 → 文件系统 逻辑分层: 连接层(Connection Layer) SQL层(Server Layer) 存储引擎层(Engine Layer) 二、连接过程 客户端发起连接时流程: 建立网络连接 认证校验 权限检查 分配线程 等待执行SQL 支持的连接方式: TCP/IP Unix 域套接字 命名管道(Windows) 共享内存(Windows) 查看当前连接: 1 SHOW PROCESSLIST; 查看最大连接数: 1 SHOW VARIABLES LIKE 'max_connections'; 三、线程管理机制 MySQL 每个连接默认对应一个线程。 模型: 连接 = 线程 = 会话 问题: 高并发下线程创建/销毁开销大 上下文切换成本高 解决方案: 线程池(MySQL Enterprise / 第三方插件) 查看当前线程缓存: 1 SHOW VARIABLES LIKE 'thread_cache_size'; 四、服务器处理请求流程 完整SQL执行路径: ...

January 2, 2026 · 1 min · 174 words

查询执行与优化原理

模块三:查询执行与优化原理 一、SQL 执行整体流程回顾 一条 SQL 从提交到返回结果的路径: 解析 SQL 预处理 优化器生成执行计划 执行器按计划调用存储引擎 返回结果 核心理解: 优化器决定"怎么查" 执行器负责"按计划执行" 存储引擎负责"真正读数据" 二、单表访问方法 MySQL 在访问单表时,会选择不同的访问方式。 使用 EXPLAIN 查看: 1 EXPLAIN SELECT * FROM user WHERE id = 1; 1️⃣ const 主键或唯一索引等值查询 最快方式 结果最多一行 2️⃣ ref 普通索引等值查询 返回多行 3️⃣ range 范围查询 BETWEEN、>、<、IN 等 4️⃣ index 全索引扫描 比 ALL 好,但仍然扫描全部索引 5️⃣ ALL 全表扫描 最慢方式 三、索引合并(Index Merge) 当多个单列索引可以同时使用时: 类型: Intersection(交集) Union(并集) Sort-Union 示例: 1 EXPLAIN SELECT * FROM user WHERE age = 20 OR city = 'beijing'; 四、多表连接原理 MySQL 连接的本质: ...

January 2, 2026 · 1 min · 204 words