首页 > 代码库 > 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一致;虽然你的场景没有,但他还是需要去检查和维护
MVCC (Multi-Version Concurrency Control)多版本并发控制 

mysql 不同引擎的比较