mysql引擎向上负责提供读写API,向下负责存储和提取数据,常用的存储引擎有两种:MyISAM和InnoDB
它们的区别有以下6点
- 主外键:MyISAM不支持主外键,InnoDB支持,可以管理表与表之间的关系
- 事务:MyISAM不支持,因此性能更高,InnoDB支持事务
- 行表锁:MyISAM仅支持表锁,操作一行会把整张表锁住,因此不适合高并发,InnoDB支持行锁,适合高并发
- 缓存:MyISAM只缓存索引,不缓存真实数据,InnoDB缓存索引和真实数据,对内存要求高
- 表空间:MyISAM比较小,InnoDB比较大
- 关注点:MyISAM关注性能,InnoDB关注事务,因此会损失一定的性能