面试存储引擎就是 MySQL真正负责存、读、改磁盘数据的底层工具。MySQL 只是一个外壳负责接收 SQL、解析语句实际读写硬盘的数据全靠存储引擎干活。99%的业务场景直接用InnoDB 就完事了。MySQL 5.5 之后 InnoDB 就是默认引擎官方也一直在优化它全文索引、空间 索引这些原来 MyISAM 有的能力InnoDB 现在也支持了。 只有几种特殊场景才考虑其他引擎1临时计算结果集比如 ETL中间表可以用 MEMORY 引擎加速但要注意数据易失性。2日志归档、历史流水这种只写不改的数据Archive 引擎压缩率高能省不少磁盘。3 搞 MySQL Cluster 分布式集群才会用到 NDB。MyISAM 基本可以淘汰了MySQL 8.0已经把系统表从 MyISAM 迁移到 InnoDB 了官方的态度很明确。