外键影响效率,因为每插入一条,就要扫描一次外表,一般正常开发中是没有的。
前四项能有个大概就行。
对比项 | MyISAM | InnoDB |
---|---|---|
主外键 | 不支持 | 支持 |
事务 | 不支持 | 支持 |
行表锁 | 表锁,即使操作一条记录也会锁住整个表,不适合高并发的操作 | 行锁,操作时只锁某一行,不对其它行有影响。适合高并发的操作 |
缓存 | 只缓存索引,不缓存真实数据。(就算命中还是要去查) | 不仅缓存索引还要缓存真实数据,对内存要求较高,而且内存大小对性能有决定性的影响 |
表空间 | 小 | 大 |
关注点 | 性能 | 事务、并发写 |
默认安装 | Y | Y |
用户表默认使用 | N | Y |
innodb 索引 使用 B+TREE
myisam 索引 使用 b-tree
innodb 主键为聚簇索引,基于聚簇索引的增删改查效率非常高。