MySQL管理之 MyISAM和InnoDB存储引擎简单对比
版权归QQ87006009所有
一、MyISAM引擎:
1、隔离事务界别:
由于myisam的隔离事务级别是串行。采用的是表级锁,不支持事物和全文索引。因此不适用在大并发,重负荷的生产系统上。
2、实例的崩溃恢复:
当系统宕机或者mysql进程崩溃后,MyISAM引擎表很容易受到损坏。不得不用外部命令myisamchk来进行修复。
3、分配内存和使用:
myisam引擎内存主要存放索引信息,不存放数据信息,因此在检索表时会先访问索引信息,然后在去磁盘读取数据信息。
4、cpu的使用效率:
myisam引擎不支持多核cpu,由于是表锁定机制从而降低了读和写的吞吐量。
5、文件存储的方式r:
每个myisam在存盘上会将数据存储成三个文件:表结构(.frm)、数据文件(.MYD)、索引文件(.MYI)。
---------------------------------------------------------------------------------------------------------------------------------
二、innodb引擎:
版权归QQ87006009所有
1、隔离事务级别:
默认采用repeatable read隔离级别。采取的是表级锁、行级锁、页级锁的特征,因此支持大并发和高负载的生产系统。
2、实例的崩溃恢复:
具有事务的提交,回滚,crash recovery机制。支持事物安全的ACID的存储引擎。
3、内存分配和使用:
innodb有自己的一块内存区域,主要存放于事务信息、索引信息、insert buffer、自适应哈希索引、锁信息以及数据字典信息等。
4、cpu的使用效率:
innodb引擎支持多核cpu,5.5支持32核cpu,目前5.6支持64核cpu。
5、文件存储方式:
innodb引擎一般将数据文件和索引文件放在一个表空间里,表空间文件可包含多个文件,或者多个磁盘分区。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。