InnoDB储存引擎 - 邱乘屹的个人技术博客
InnoDB储存引擎
InnoDB简介
作为MySQL的默认引擎,InnoDB兼顾了高可靠性和高性能。在MySQL 5.7中,InnoDB是默认的MySQL存储引擎。除非您配置了其他默认存储引擎,否则发出CREATE TABLE不带ENGINE= 子句的语句将创建一个InnoDB表。
主要优势
- InnoDB的
DML操作遵循ACID模型,具有提交,回滚和崩溃恢复功能的事务,以保护用户的数据 - 行级锁定提高了多用户并发性的性能
- InnoDB将数据排列到磁盘上,基于主键优化查询,每个 InnoDB表都有一个称为聚集索引的主键索引,该索引 组织数据以最小化主键查找的I
/ O。 - 同时,为了维护数据的完整性,InnoDB还支持外键(FOREIGN
KEY)约束,使用外键检查插入,更新和删除操作,以确保它们不会导致不同表之间的不一致
参考地址:使用InnoDB的好处
InnoDB和ACID模型
ACID模式是一组数据库设计的原则,强调的是对业务数据和关键任务的可靠性支持,InnoDB引擎严格遵守ACID模型,因此数据不会损坏,结果也不会因软件崩溃和硬件故障等异常情况而失真,包括一致性检查和崩溃恢复机制。如果你有其他的保护数据措施,或者可以容忍少量数据丢失或不一致,可以设置MySQL的ACID,用以获得更高的性能和吞吐量
ACID的四个特性
- A ——》 原子性
- C ——》 一致性
- I ——》 隔离性
- D ——》 持久性
InnoDB架构
请参考 "InnoDB内存结构"和 “InnoDB磁盘结构”