首页 > 技术文章 > MySQL-常用的存储引擎

zhoudaqianhaha 2017-03-28 20:15 原文

MySQL-常用的存储引擎

存储引擎 事务 锁粒度 主要应用 忌用
MyISAM 不支持 支持并发插入的表级锁 select,insert 读写操作频繁
MRG_MYISAM 不支持 支持并发插入的表级锁 分段归档,数据仓库 全局查找过多的场景
Innodb 支持 支持MVCC的行级锁 事务处理
Archive 不支持 行级锁 日志记录,只支持insert,select 需要随机读取,更新,删除
Ndb cluster 支持 行级锁 高可用性 大部分应用

 

   

           

 

 

 

 

 

 

 

 

 

 

MyISAM:因为不支持事务,开销更少,读写更高效;但也由于不支持事务,所以在写的时候要对全表加速,有可能造成锁堵塞

            适用于写少读多,但不适用于读写都多的情况

MRG_MYISAM:基于MyISAM,可将多个结构相同的MyISAM表合并成一个表

                      适用于归档,数据仓库,需要将多个表合并成一个表处理的情况,写少,大多情况在读

                      不适用于全局查找较多

Innodb(建议使用):读写都相对高效,与MyISAM的区别在于,它主要是对于行级锁的处理,不会有表级锁的存在,读写堵塞更少

Archive:存储容量相对于更小,适用于日志记录

Ndb cluster:MySQL集群所使用的引擎,MySQL集群是内存型集群,大多数数据都存储在内存中,所以数量大超过内存时则不适用

 

推荐阅读