本章介绍有关于MySQL存储引擎的相关知识。

image-20230813214128532

存储引擎简介

存储引擎就是存储数据,建立索引,更新查询数据等计数的实现方式。存储引擎时基于表的,而不是库。所以也被称为表类型。

创建表时指定存储引擎:

-- 默认innodb
create table xxx (
	...
)ENGINE=INNODB;

-- 查询可用的引擎
show engines;

InnoDB

特点:

  • 事务
  • 外键
  • 行级锁

文件格式:table.ibd,存储该表的结构,数据和索引。

逻辑存储结构

image-20230906171525655

image-20230909164021758

架构

image-20230909164110673

左侧是内存架构,右侧是磁盘架构。

内存架构

image-20230909164250749

image-20230909164345538

image-20230909164411087

image-20230909164435062

磁盘架构

image-20230909164837187

image-20230909164855802

image-20230909165000920

后台线程

image-20230909165104103

事务原理

image-20230909165200548

redo log

image-20230909165414548

undo log

image-20230909165526386

MVCC

image-20230909165931909

原理

image-20230909170112305

image-20230909170217209

image-20230909170257042

image-20230909170950358

image-20230909170358757

上次更新:
Contributors: YangZhang