对比比较MySql innodb 和 MyIsam 两种存储引擎的文件存储结构

今天对比一下mysql两种常用存储引擎myisam和innodb的文件存储结构: 
先说一下两者的大概区别: 
myisam 更适合读取大于写入的业务,同时不支持事物。 
innodb 支持事物,效率上比myisam稍慢。

文件存储:

 

myism物理文件结构为:


.frm文件:与表相关的元数据信息都存放在frm文件,包括表结构的定义信息等。

.myd文件:myisam存储引擎专用,用于存储myisam表的数据

.myi文件:myisam存储引擎专用,用于存储myisam表的索引相关信息

innodb的物理文件结构为:


.frm与表相关的元数据信息都存放在frm文件,包括表结构的定义信息等。 
.ibd文件和.ibdata文件: 
这两种文件都是存放innodb数据的文件,之所以用两种文件来存放innodb的数据,是因为innodb的数据存储方式能够通过配置来决定是使用共享表空间存放存储数据,还是用独享表空间存放存储数据。

独享表空间存储方式使用.ibd文件,并且每个表一个ibd文件

共享表空间存储方式使用.ibdata文件,所有表共同使用一个ibdata文件

觉得使用哪种方式的参数在mysql的配置文件中 innodb_file_per_table
 

 

 

你可能感兴趣的:(mysql,存储引擎)