首先,MySQL 的数据都是文件的形式存放在磁盘中的,我们可以找到这个数据目录的地址。在MySQL 中有这么一个参数,我们来看一下:

show VARIABLES LIKE 'datadir';

每个数据库有一个目录,我们新建了一个叫做leon 的数据库,那么这里就有一个leon的文件夹。

这个数据库里面我们又建了5 张表:archive、innodb、memory、myisam、csv。

我们进入leon的目录,发现这里面有一些跟我们创建的表名对应的文件。

在这里我们能看到,每张InnoDB 的表有两个文件(.frm 和.ibd),MyISAM 的表有三个文件(.frm、.MYD、.MYI)。

mysql怎么存储文章 mysql怎么存文件_数据库

有一个是相同的文件,.frm。.frm 是MySQL 里面表结构定义的文件,不管你建表的时候选用任何一个存储引擎都会生成。 

我们主要看一下其他两个文件是怎么实现MySQL 不同的存储引擎的索引的。