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引擎一般将数据文件和索引文件放在一个表空间里,表空间文件可包含多个文件,或者多个磁盘分区。

 

 


郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。