MySQL 9.7 LTS 最新版本发布

Source

InnoDB  架构图 (MySQL 5.7)FROM:

https://dev.mysql.com/doc/refman/5.7/en/innodb-architecture.html

InnoDB  架构图 (MySQL 9.7)FROM:https://dev.mysql.com/doc/refman/9.7/en/innodb-architecture.html

2026 年 4 月 21 日:MySQL 9.7.0 LTS 发布,成为新的长期支持版本【Long-Term Support (LTS) 版本线】。

2. Change Buffer

Change Buffer(早期版本叫 Insert Buffer)在 InnoDB 架构中既有内存部分,也有磁盘部分。

对比项

MySQL 5.7

MySQL 9.7

支持索引类型

仅非唯一二级索引

二级索引 + 全文索引 + 空间索引

innodb_change_buffering 默认值

all

none

合并调度机制

集中合并,易出现 IO 峰值

分时限流合并,IO 波动平缓

3. Log Buffer

对比项

MySQL 5.7

MySQL 9.7

默认内存大小

16MB

64MB

参数修改方式

只读,必须重启生效

支持 SET GLOBAL 在线动态调整

刷盘与缓存架构

固定刷盘策略,redo/undo 耦合

自适应刷盘,undo buffer 独立拆分

4. Adaptive Hash Index (AHI)

对比项

MySQL 5.7

MySQL 9.7

锁机制

全局单一锁

分区细粒度锁

默认分区数量

8

64

分区数修改权限

只读,无法在线修改

支持在线动态调整

索引管控粒度

全局统一开关

支持单表单独开启 / 关闭

缓存淘汰策略

基础热度判定

综合访问频率+ 最近访问时间的淘汰策略(先踢低热度 → 再踢中热度 → 尽量保留高热度)

MySQL 5.7 磁盘结构:所有核心元数据都塞在系统表空间 ibdata1,导致空间不可回收、耦合度高。

MySQL 9.7 磁盘结构:模块化拆分,数据字典、Undo、临时表空间独立,新增 General Tablespaces。

对每一类简要做一个对比:

组件

MySQL 5.7

MySQL 9.7

数据字典DD

在 ibdata1 + .ibd 文件,双份元数据(二边同步维护代价高)

独立 Data Dictionary Tablespace,.ibd 不再存字典

Undo

默认在 ibdata1,空间不可收缩

独立 Undo Tablespaces,支持多个文件,在线收缩

临时表空间

单文件,性能差

多文件 InnoDB 临时表空间,支持事务和索引

DoubleWrite Buffer

必需,位于 ibdata1

Atomic I/O 替代,适配 NVMe

General Tablespaces

不支持

新增,支持多表共享