首页 > 代码库 > mysql 不同引擎的比较
mysql 不同引擎的比较
mysql 支持的默认引擎是InnoDB,其他的常用引擎包括MyISAM等,那么他们有什么差别呢。
首先执行
show engines;
来查看数据库当前支持的引擎。
可以看到mysql支持这么多不同的引擎,其中InnoDB值得关注的点也很明显。
它支持事务,XA,Savepoints。
MyISAM 也较为常用,虽然不支持事务,但对于读操作而言,它具有更高的性能。
具体的原因,我参考了网上其他小伙伴的博客。(http://www.bcty365.com/content-35-5659-1.html)
INNODB在做SELECT的时候,要维护的东西比MYISAM引擎多很多:
1)数据块,INNODB要缓存,MYISAM只缓存索引块, 这中间还有换进换出的减少;
2)innodb寻址要映射到块,再到行,MYISAM记录的直接是文件的OFFSET,定位比INNODB要快
3)INNODB还需要维护MVCC一致;虽然你的场景没有,但他还是需要去检查和维护
2)innodb寻址要映射到块,再到行,MYISAM记录的直接是文件的OFFSET,定位比INNODB要快
3)INNODB还需要维护MVCC一致;虽然你的场景没有,但他还是需要去检查和维护
MVCC (Multi-Version Concurrency Control)多版本并发控制
mysql 不同引擎的比较
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。