Bootstrap

MySQL 的存储引擎有哪些?它们之间有什么区别?

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只记忆支持的,别的都不支持

;