MySQL8.4版本一共提供了10个引擎
主要的存储引擎为:InnoDB(重点),MyISAM(重点)、MOMORY
InnoDB :MySQL5.5.5后默认引擎
MyISAM:MySQL5.5.5前默认引擎
InnoDB:
- 支持:聚簇索引、MVCC、外键、事务、行级锁、表级锁、数据缓存(有缓冲池(Buffer Pool))
- 支持:崩溃恢复、全文索引
- 适合:读写频繁,需要事务支持的场景
MyISAM:
- 支持:B+树索引、表锁
- 不支持:聚簇索引、MVCC、外键、事务、行级锁、数据缓存、崩溃恢复、全文索引
- 适合:读多写少,不需要事务支持的场景
Memory:
- 支持:B+树索引、MVCC、行级锁、表级锁、数据缓存
- 不支持:聚簇索引、外键、事务、持久化存储、崩溃恢复
- 适合:临时数据,高速缓存的场景
相同点:
- 都是支持B+树索引(InnoDB、MyIsAM存储引擎默认是B+索引,MEMORY默认是HASH索引但支持B+树索引)
- 都支持表级锁
记忆小贴士:
InnoDB:像一个全面的“数据库管理员”,处理事务、维护索引,还支持崩溃后恢复。 MyISAM:像一个“档案员”,专注于读取已有数据,不处理复杂的事务。 Memory:像一个“临时演讲者”,快速回忆(缓存)但不持久,适合短期任务。
记忆时InnoDB记全,MyISAM和Memory只记忆支持的,别的都不支持