MyISAM与InnoDB对比(重点索引对比)
索引 对比 InnoDB 重点 MyISAM
2023-09-27 14:25:41 时间
一、锁差异
myisam支持表级锁,锁定对象的颗粒度大,所以加锁和开锁的速度很快,能够很好地避免死锁
innodb支持行级锁,对象的颗粒度小,所以锁定资源争用的概率也小,能够更好地支持并发,容易发生死锁
二、事务
myisam不支持事务
innodb支持事务,具有MVCC和四种隔离级别解决数据一致性问题
三、数据文件差异
myisam存储在三个文件上,.frm存储表结构,.MYD存放数据,.MYI存放索引
innodb存储在两个文件上,frm存储表结构,.ibd存储数据和索引
四、索引
myisam:叶子节点存数据的地址(索引和数据分开放),叶子结点包含该行的地址,叶子节点顺序链表。
inoodb:聚簇索引叶子节点包含完整数据(索引和数据在一块),辅助索引叶子节点包含该列的值,还有对应行的主键索引地址,所以不是覆盖索引需要二次查找,叶子节点顺序链表。
(主索引又称聚簇索引,一般为主键自增id,数据行的物理顺序与列值的逻辑顺序相同,一个表中只能拥有一个聚集索引)
五、外键
myisam不支持外键
innodb支持外键
六、count(*)
myisam直接获取
inoodb需要扫表
相关文章
- Mysql 索引设计的原则, 脏读,幻读
- mysql索引不在内存_为了把mysql的索引底层原理讲清楚,我把计算机翻了个底朝天...
- Btree 索引
- Google Earth Engine(GEE)——字符串构造方法、拼接、替换、大小写索引和切片
- ElasticSearch删除索引中的数据(delete_by_query)
- 关于数据库的索引知识
- 查看Oracle的表中有哪些索引
- 【MySQL进阶-01】深入理解mysql索引本质
- MySQL优化之强制索引的使用
- 使用索引的注意事项及常见场景、案例
- mysql索引的应用场景以及如何使用
- 【MongoDB】索引技术总结
- pandas_重采样多索引标准差协方差
- oracle索引优化
- 高性能 MySQL(六):索引类型