mysql 不同引擎的比较

Posted 知己一生

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 不同引擎的比较的主要内容,如果未能解决你的问题,请参考以下文章

2MySQL常见数据库引擎及比较?

数据库----mysql 表的操作

比较数据库和搜索引擎检索的方法和结果有啥不同??

MySQL之存储引擎

超简单MySQL存储引擎的选择与配置

Mysql 引擎的比较