返回
MySQL 架构与 InnoDB 存储引擎
百科(权威知识源 · 考试范围)
作者:管理员最后更新:2026/9/4 12:41:08审核:管理员

MySQL 架构与 InnoDB 存储引擎

MySQL 是应用最广泛的关系型数据库之一。理解它的整体架构与默认存储引擎 InnoDB,是定位慢查询、事务问题、死锁的基础。

数据库 与 实例

两个易混淆的概念:

  • 数据库:物理操作文件系统或其他形式文件的集合。
  • 实例:由后台线程以及一个共享内存区组成,是数据库为上层提供操作的接口。

在 MySQL 中实例与数据库往往一一对应。启动一个 MySQL 实例会产生两个进程:mysqld(数据库服务守护进程)与 mysqld_safe(负责检查和设置启动、监控并在出错时恢复)。

MySQL 逻辑架构

MySQL 分三层:

  1. 连接层:处理连接、线程、认证。
  2. Server 层:核心服务,包括 SQL 的解析、分析、优化、缓存;存储过程、触发器、视图都在这里实现。
  3. 存储引擎层:负责数据的存储和提取,如 InnoDB、MyISAM 等。

InnoDB 存储引擎

InnoDB 是 MySQL 默认且最常用的引擎,支持事务、行级锁、外键。

数据的存储

InnoDB 中数据被逻辑地存放在表空间中。表空间(tablespace)是最高存储逻辑单位,其下依次为:段(segment)→ 区(extent)→ 页(page)。

默认页大小为 16KB(可通过 innodb_page_size 修改)。所有表空间页大小相同。

InnoDB 核心特性

  • 事务:支持 ACID(原子性、一致性、隔离性、持久性)。
  • :表级锁与行级锁(基于索引;间隙锁/next-key 锁解决幻读)。
  • 索引:B+ 树聚簇索引,数据与主键一起存放;二级索引回表。
  • 缓冲池(Buffer Pool):缓存页数据,加速读写。
  • 日志:Redo Log 实现崩溃恢复,Undo Log 支持回滚与 MVCC。
  • 行格式:Compact 等,含隐藏列(事务 ID、回滚指针)支撑 MVCC 多版本并发控制。

MyISAM 与 InnoDB 对比

特性 InnoDB MyISAM
事务 支持 不支持
行级锁 表级锁
外键 支持 不支持
索引 聚簇索引 非聚簇(MyISAM 索引与数据分离)

MyISAM 支持全文索引,但无事务、表级锁并发差,现已少用。

总结

  • MySQL 分层:连接层 / Server 层 / 存储引擎层。
  • InnoDB 是默认引擎:事务、行锁、B+ 树聚簇索引、MVCC。
  • 理解 InnoDB 的存储与锁/日志机制,是做好数据库优化的前提。
考试信息
通过标准满分(错一道即与满分无缘,可把整卷答完看解析;重考不限次数)
时间限制不限时
单卷抽题数10 题
成绩窗口2026-09-14 ~ 2026-09-20
积分学费10 积分
支付方式满分后用积分支付(自主决定)
用积分支付:成绩长期保留,参与排名,积分学费含平台资助池;不支付:成绩保留至窗口截止后清空
积分无充值通道;积分不足 10 时,平台自动发放 100 积分。积分不可提现、不可转让、无现金价值。
排行榜(窗口期最短满分用时 · 前 0 名)
当前窗口(2026-09-14 ~ 2026-09-20)

该窗口暂无满分记录

课程(免费学习 · 共 0 门)

暂无课程

登录后可查看我的出题、测试记录并参加满分考试