Innodb和Myisam的区别

1.数据的存储结构不同

每个Myisam在磁盘上存储了三个文件,一个是表的定义(.frm),还有数据文件(.MYD)和索引文件(.MYI)。

而Innodb在磁盘上存储了两个文件,一个是表的定义(.frm),还有数据和索引文件(.ibd)。

Innodb和Myisam的区别_第1张图片

 2.存储空间的大小不同

Myisam存储空间较小,Innodb需要更多的内存来存储。

3.对事务的支持不同

Myisam多用于查询多的表,所以不支持事务,而Innodb多用于增、删、改多的表,其支持事务。

4.对锁的支持程度不同

Myisam只支持表锁,需要锁定整个表格,效率会偏低,而Innodb支持行锁,只需要锁定某一行就行,所以效率会高一些。

5.外键支持不同

Myisam不支持外键,而Innodb支持外键。

6.主键观念不同

Myisam可以不定义主键,如果定义了主键,则会是主键索引,而Innodb必须要有主键,就算没有定义,那么会自动创建一个隐藏的6byte的int型的索引。

你可能感兴趣的:(mysql,数据库,开发语言,mysql,java)