总结:InnoDB适合写密集的表,MyISAM适合读密集的表。
1、InnoDB支持事务、外键,MyISAM不支持。
2、InnoDB 最小的锁粒度是行锁,MyISAM 最小的锁粒度是表锁。 ==》MyISAM更新操作慢
3、结构:
共同点:都是B+tree,在叶子节点保存数据。
InnoDB :主键索引叶子节点保存索引和数据内容,辅助索引叶子节点保存的是索引和主键。 ==》InnoDB通过辅助索引搜索时,要搜索两次。
MyISAM:主键索引和辅助索引结构相同,叶子节点保存索引和数据的文件指针
MYISAM:
支持三种存储方式:
静态型(默认):存储速度快、容易触发缓存、损坏后容易修复。
动态型:节省空间。
压缩型:只读。
Memory:运行在内存。
Archive:
只能进行读写操作。
支持行级锁和专用的缓存区,所以可以实现高并发的插入。
参考资料:https://blog.csdn.net/u010922732/article/details/82994253