描述
MySQL MyISAM对比InnoDB为什么不支持事务?
MyISAM和InnoDB存储索引区别?
题目来源
想深入了解下MySQL引擎
MySQL MyISAM对比InnoDB为什么不支持事务?
MyISAM和InnoDB存储索引区别?
想深入了解下MySQL引擎
MyISAM设计之初,没有想到日后自己会成为知名的数据存储引擎之一,也就没有考虑支持事务
5.7之后MySQL默认的存储引擎已经是InnoDB,个人认为,多了解InnoDB特性即可
5 回答3.2k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
3 回答3.6k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
1 回答2.4k 阅读✓ 已解决
1 回答2.9k 阅读✓ 已解决
5 回答1.4k 阅读
MyISAM和InnoDB在索引存储结构上最大的区别其实就是聚簇索引和非聚簇索引的区别。
MyISAM和InnoDB的索引结构都是基于B+tree数据结构设计的,不过MyISAM主键索引的叶子节点和非主键索引的叶子节点都存放的是行数据的磁盘地址。InnoDB非主键索引存储的是主键值,而主键索引里存储的是具体的行数据。
InnoDB在进行非主键索引查询时,先在非主键索引中查找到对应的主键值,然后根据主键值再去主键索引里进行一次回表查询,获取主键索引中存储的行数据。
具体mysql相关内容可以参考我的博客
Mysql-索引数据结构&引擎篇
Mysql-索引类型篇
Mysql-事务,锁篇
Mysql-MVCC篇
Mysql-优化篇
Mysql-其他篇