MySql的数据结构
MySQL的数据结构和存储引擎有直接关系,InnoDB、MyISAM存储引擎底层使用的B+树
不同的存储引擎数据的组织形式不一样
存储引擎是表级别的,也就是说每张表可以设置不同的存储引擎
MyISAM
当一张表设置了MyISAM存储引擎,在磁盘中会对应出现表结构.frm
、表索引.MYI
、表数据.MYD
三个文件
MyISAN存储引擎走索引查询流程

MyISAM存储引擎是非聚集索引,不支持事务
InnoDB
InnoDB是兼顾高可靠和高性能的通用存储引擎,在MySQL5.5后,InnoDB是默认的MySQL存储引擎,支持行锁,支持事务
当一张表设置了InnoDB存储引擎,在磁盘中会对应出现文件.ibd
,MySQL8之前还会出现.frm
文件

使用InnoDB的表强烈建议建一个整型的自增主键,这样该表就能自动形成一个B+树的索引结构,并由主键字段来组织数据。如果一个表没有主键,MySQL会自动从表中选一个没有数据重复的字段来组织数据,如果没有找到会新增一个隐藏字段列来维护,这个过程是耗费资源的
MyISAM和InnoDB的区别
主要是三个区别
InnoDB逻辑存储结构
InnoDB内存架构
InnoDB磁盘结构
InnoDB架构中的后台线程
InnoDB事务原理
InnoDB事务原理MVCC
RC隔离级别下的readview方式
RR隔离级别下的readview方式
总结MVCC实现原理