Mysql架构
上层是服务器+查询执行引擎(查询缓存、解析器、优化器),下层是存储引擎
事务日志
操作表时先把事务日志写入内存,然后持久化事务日志(第一次写磁盘),最后把事务日志中的修改数据写入磁盘(第二次写磁盘)。
注意:经历了两次写入磁盘。
alter table等影响大量数据操作前会自动结束当前事务。
innodb
innodb存储引擎有崩溃自动恢复的特性。
聚簇索引,每张表额外维护一张占表120%空间的存储表物理结构的表,查询性能高。二级索引会附加主键列。
b+树做为索引。
有自适应hash索引,当某些索引值被使用频繁,会自动为其创建hash索引。